La Web del Programador: Comunidad de Programadores
 
    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.