Página 1 de 1

DGlobalAlloc funcion equivalente a GlobalAlloc

Publicado: 01 Dic 2010, 20:33
por mDrinky
Bueno he creado esta funcion equivalente a GlobalAlloc:

Código: Seleccionar todo

proc DGlobalAlloc,cantidad
        sub esp,[cantidad]
        mov eax,esp
        ret
endp
Es pequeña pero muy util y nos evitamos usar funciones externas ;)

ejemplo de su uso:

Código: Seleccionar todo

include 'win32ax.inc'

.data
    palabra db 'Drinky94',0
    longitud dd ?
.code
start:

    stdcall Len,palabra
    mov [longitud],ecx
    stdcall DGlobalAlloc,1024
    push eax
    invoke wsprintfA,eax,"%d",[longitud]
    pop eax
    invoke MessageBox,0,eax,0,MB_OK
    leave
    ret
 
    proc Len,Cadena
        mov eax,[Cadena]
        mov ecx,-1
        bucle:
            inc ecx
            cmp byte[eax+ecx],0
            jne bucle
        ret
    endp

    proc DGlobalAlloc,cantidad
        sub esp,[cantidad]
        mov eax,esp
        ret
    endp
.end start   

Espero que les sea util.

salu2!

Re: DGlobalAlloc funcion equivalente a GlobalAlloc

Publicado: 02 Dic 2010, 06:12
por linkgl
XD mueve a EDI el "%d" porque si no marca un error raro al debuggear xD bueno almenos eso me pasó a mí hasta que moví el "%d" a di y lo puse en la llamada al wsprintfA jeje saludos

Re: DGlobalAlloc funcion equivalente a GlobalAlloc

Publicado: 02 Dic 2010, 14:17
por mDrinky
linkgl escribió:XD mueve a EDI el "%d" porque si no marca un error raro al debuggear xD bueno almenos eso me pasó a mí hasta que moví el "%d" a di y lo puse en la llamada al wsprintfA jeje saludos
Um.... a mi no me da ningun error :/

salu2!