Programación General > ASM (Ensamblador)

 Consulta, Como Compilar Este Codigo Asm!

(1/3) > >>

CodeSixtheen:
Hola a todos, este es mi primer mensaje en el foro y quisiera consultar como compilar el siguiente codigo de ASM.
 Vale destacar que estoy Utilizando el Easy Code junto a W32ASM, he compilado varias Dll, asi como distintos programas, pero me han surgido varios problemas con el siguiente codigo y aun no puedo solucionarlo para poder compilar la DLL.


--- Código: Text ---  :rolleyes: Por seguridad el codigo sera removido!  
 Cualquier ayuda sera mas que bien recibida amigos.

Por si acaso el error que que surge al compilar es el siguiente :


--- Cita de: "Error Producido al Compilar" ---============== Proyecto1 - Debug ==============

 Compiling resources...
 Assembling: Module1
Module1.asm(40) : error A2108: use of register assumed to ERROR
Module1.asm(45) : error A2108: use of register assumed to ERROR
Module1.asm(49) : error A2108: use of register assumed to ERROR
Module1.asm(69) : error A2108: use of register assumed to ERROR
Module1.asm(81) : error A2108: use of register assumed to ERROR
Module1.asm(93) : error A2108: use of register assumed to ERROR
Module1.asm(96) : error A2108: use of register assumed to ERROR
Module1.asm(100) : error A2108: use of register assumed to ERROR
Module1.asm(106) : error A2108: use of register assumed to ERROR
Module1.asm(110) : error A2108: use of register assumed to ERROR
Module1.asm(124) : error A2108: use of register assumed to ERROR
Module1.asm(140) : error A2108: use of register assumed to ERROR
Module1.asm(155) : error A2108: use of register assumed to ERROR
Module1.asm(196) : error A2108: use of register assumed to ERROR
Module1.asm(203) : error A2008: syntax error : PieceHornMix
Module1(124) : fatal error A1010: unmatched block nesting : PieceHornMix

Se han producido errores.
--- Fin de la cita ---

 Desde ya muy agradecido y en espera de una pronta respuesta.

Eternal Idol:
Ese codigo asi tal como esta no va ni para atras ni para adelante. Seguramente tenes librerias (.inc, .lib) para declarar y enlazar la funcion ChaosMixLog y las variables MixPrize y CSplinterArmour.

Yo use un par de trucos para hacerlo ensamblar (no lo enlace, no vale la pena el esfuerzo):

Primero y principal empezamos con:

--- Código: Text --- .386.model flat, stdcall  
Esto es para suplir esos archivos (no sirve mas que para lograr ensamblar):


--- Código: Text --- ChaosMixLog PROTO STDCALLMixPrize equ 50 &#59;valor al azar.data  CSplinterArmour dd 0   
Y poner .code antes de PieceHornMix Proc hace que desaparezcan los errores ya que  desde ese momento asume que estamos en una seccion de codigo y no de datos.

A eso le falta el DllMain tambien ...

CodeSixtheen:
Hola Eternal Idol, muchas gracias por la ayuda intentare ver como solucionarlo, ya que es un source que me facilito un amigo el cual no logro contactar desde hace ya mucho tiempo y necesito hacer funcionar eso. Honestamente estoy iniciandome en el campo ASM y honestamente aun estoy tratando de conocer el lenguaje.
  Gracias por la ayuda e intentare ensamblarlo con los datos que me diste y seguir probando para hacerlo funcionar.

Muchisimas Gracias.

Eternal Idol:
De nada, poniendo lo que te dije podes ensamblarlo con MASM perfectamente pero para que te sea util necesitas otros archivos ... busca el codigo en Google ... esto es una DLL para un juego sino me equivoco ...

CodeSixtheen:

--- Cita de: "Eternal Idol" --- De nada, poniendo lo que te dije podes ensamblarlo con MASM perfectamente pero para que te sea util necesitas otros archivos ... busca el codigo en Google ... esto es una DLL para un juego sino me equivoco ...
--- Fin de la cita ---
Eternal Idol, te agradesco nuevamente la respuesta.

 Con respecto a buscar el codigo restante por Google es imposible :( ya que si bien es una DLL de un Juego " " esta diseñada para servidores del game y fue echa por una persona que siempre saco releases del juego, pero solo como desarrollador aficionado del juego, agregandole una funcionalidad que supongo no viene al caso. Ese Codigo me fue pasado por un amigo y publicado en un foro de games, esta persona que me lo facilito en su momento, no logro contactatrla, y ese codigo tal como lo publique al Principio del Post, es todo lo que se publico y todo lo que se me paso, por ende no hay mas codigo que ese  :(
 Por eso es que comence a recurrir a este foro para intentar conocer sobre el lenguaje y poder poner en funcionamiento esta DLL. Aunque se que no sera facil, y que no me llevara dos dias. Pero con la ayuda que me estas brindando te aseguro que por tonto que paresca entendi unas algunas cosas mas del codigo  :smartass:

 Espero no estar molestando por demas, pero quisiera hacerte una pregunta mas de ser posible. ( Espero comprendan que recien me inicio en esto, y tengo mas dudas que certezas)

 Bueno hasta el momento lo que hise fue lo siguiente, modifique mi codigo agregando las lineas que me indicaste, quedando este de la siguiente manera :


--- Código: Text --- Borrado por Seguridad !  
 Bueno asi es como me quedo (Le agregue el End al final que no lo tenia).

Luego lo que hise fue generar el arcivo .OBJ de la siguiente manera.


--- Código: Text ---ML.EXE /c /Cp /coff MyDll.asm 
Y con eso genere el Archivo --> MyDll.obj Sin ningun problema  :lol:
 
 Una ves que tube el MyDll.Obj lo que hise fue crear con el Notepad un Archivo llamado Mydefile.DEF con el siguiente contenido


--- Código: Text --- LIBRARY MyDLLEXPORTS Loaded  
 Y luego realize la siguiente accion:


--- Código: Text ---LINK.EXE /SUBSYSTEM:WINDOWS /DLL /DEF:Mydefile.def /LIBPATH: MyDLL.obj 
 Eh ahi donde me genera el siguiente mensaje :


--- Código: Text ---LINK : fatal error LNK1146: no argument specified with option "/LIBPATH:" 
  bueno desde ya nuevamente muchas gracias.

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa