Pregunta: | 16144 - COMO HACER UNA DLL EN ENSAMBLADOR |
Autor: | jose ugalde |
qUISIERA SABER COMO PUEDO HACER UNA DLL EN ENSAMBLADOR PARA PODER UTILIZARLA CON UN LENGUAJE DE ALTO NIVEL COMO VB O DELPHI
GRACIAS. |
Respuesta: | Yoel Ocmin |
Crear una Dll en Ensamblador, no es tan complicado como puede parecer, solo tienes que tener en claro para que lo necesitas.
por ejemplo, para manejar el Puerto paralelo y hacaer que rote un bit a su salida desde Visual Basic, tedriasmos que usar una libreria externa que nos permita la opcion de rotar un bit, algo como .486 .model flat,stdcall option casemap:none include windows.inc include kernel32.inc includelib kernel32.lib DLLProc PROTO :DWORD, :DWORD, :DWORD, :DWORD _ror PrOTO :Byte,:word .data? hInstance dd ? ;Dll's module handle .code ; Common AddIn Procedures DllEntry proc hInst:HINSTANCE, reason:DWORD, reserved1:DWORD mov eax, hInst mov hInstance, eax mov eax, TRUE ret DllEntry Endp _ror proc dato:byte,veces:word mov al,dato mov cx,veces ror al,cl ret _ror endp End DllEntry y su correspojndiente archivo nuevaror.def LIBRARY nuevaror EXPORTS _ror para llamarla desde visualbasic, puedes crear un modulo, y lo llamas Public Declare Function ror Lib "nuevaror.dll" _ Alias "_ror" (ByVal dato As Byte, ByVal cant As integer) As Byte Si tuviste algun problema en entender esto, mandame un mail [email protected] |
Respuesta: | Edwin Plauchu |
La verdad es que si quieres aprender ha crear una Dinamic link librally (DLL) tendras que hacerla en lenguaje C++, las DLL son funciones que se mandan a llamar solo cuando se necesitan, es una forma de optimizacion de memoria. Borland Delphi ofrece una manera de crear librerias, pero es muy limitada.
La Idea de una libreria es mandar a llamar una funcion en C++. Windows tiene un sistema realizado en C++ y por eso existen DLLs en el En Assembler solo podras crear objetos. |