;Comecemos a Expliar

;Podemos tener de Esqueleto ha.
MiDLL.ASM
.386
.model flat, stdcall
option casemap :none

include d:\masm32\include\windows.inc
include d:\masm32\include\user32.inc
include d:\masm32\include\kernel32.inc

includelib d:\masm32\lib\user32.lib
includelib d:\masm32\lib\kernel32.lib

;***************************************
;Prototipo de nuestras Funciones a Exportar ;***************************************
.data
hInstance dd ? ;Handle de la Dll
.code
DllEntry PROC hInst :DWORD, Reason :DWORD, Reserved1 :DWORD
mov eax, hInst
mov hInstance, eax
xor eax, eax
inc eax
ret
DllEntry ENDP
;****************************
;Aqui van nuestras funciones a Exportar
MIFUNCION PROC
nop
ret
MIFUNCION ENDP

end DllEntry

Archivo MiDLL.def
LIBRARY "MiDLL"
DESCRIPTION 'Descripcion de Mi DLL'
VERSION 1.0

EXPORTS
MyFuncion ;Funcion a Exportar

Ahora Nuestra DLL seria:

inout98.ASM
.386
.model flat, stdcall
option casemap :none

include d:\masm32\include\windows.inc
include d:\masm32\include\user32.inc
include d:\masm32\include\kernel32.inc

includelib d:\masm32\lib\user32.lib
includelib d:\masm32\lib\kernel32.lib

;***************************************
;Prototipo de nuestras Funciones a Exportar ;***************************************
ESCRITURA proto :Dword,:dword
LECTURA proto :Dword


.data
hInstance dd ? ;Handle de la Dll
.code
DllEntry PROC hInst :DWORD, Reason :DWORD, Reserved1 :DWORD
mov eax, hInst
mov hInstance, eax
xor eax, eax
inc eax
ret
DllEntry ENDP
;********************************
;Aqui van nuestras funciones a Exportar
;********************************

ESCRITURA proc puerto:Dword,dato:dword
mov al,byte ptr dato
mov edx,puerto
out dx,al
mov eax, 1
ret
ESCRITURA endp

;leer(word ptr puerto)
LECTURA proc puerto:Dword
xor eax,eax
mov edx,puerto
in al,dx
ret
LECTURA endp
end DllEntry

Archivo inout98.def
LIBRARY "inout98"
DESCRIPTION
'Libreria para leer el puerto desde VB, en Win98'
VERSION 1.0
EXPORTS
LECTURA
ESCRITURA

 

Yoel Ocmin

yoelocmin@hotmail.com


Como han podido observar, el crear una ventana en RadAsm, es mucho mas facil, es decir nos ahorra estar poniendo parte de codigo, que siempre va como esqueleto, te sugiero que veas Hola2.htm, donde pongo otro ejemplo de un Hola Mundo pero totalmente en Masm32