Test Foro de elhacker.net SMF 2.1

Programación => Programación General => ASM => Mensaje iniciado por: crack81 en 28 Enero 2016, 19:14 PM

Título: Duda con Proc en Fasm
Publicado por: crack81 en 28 Enero 2016, 19:14 PM
Cuando creas un proc y modificas alguno registro  previamente hay que salvaguardarlos para despues modificarlos y ahora si regresarlos a su valor original
Código (asm) [Seleccionar]

proc funcion
    push ecx
    mov ecx,6
    pop ecx
    ret
endp



pero estuve leyendo y creo que en masm habia una forma para hacerlo automaticamente
sin hacer un push y un pop

no se si en fasm exista lo mismo?
Título: Re: Duda con Proc en Fasm
Publicado por: Eternal Idol en 28 Enero 2016, 19:50 PM
USES es lo que buscas:
http://flatassembler.net/docs.php?article=win32#1.3
Título: Re: Duda con Proc en Fasm
Publicado por: crack81 en 28 Enero 2016, 20:00 PM
Gracias Eternal Idol por la respuesta
pongo el equivalente de uses en masm pero ahora en Fasm es muy similar al de masm

Código (asm) [Seleccionar]
;salvamos registros con uses y los recuperamos en la salida
   proc sinModificar uses ecx eax
     mov ecx,6
     mov eax,7
     ret
   endp

   ;De esta forma los registros pueden ser alterados
   proc modificar
     mov ecx,6
     mov eax,7
     ret
   endp

    ;salvamos registros de manera clasica usando push y pop
   proc sinModificarClasico
     push ecx
     push eax

     mov ecx,6
     mov eax,7

     pop eax
     pop ecx
     ret
   endp