Duda con Proc en Fasm

Iniciado por crack81, 28 Enero 2016, 19:14 PM

0 Miembros y 1 Visitante están viendo este tema.

crack81

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?
Si C/C++ es el padre de los lenguajes entonces ASM es dios.

Eternal Idol

#1
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón

crack81

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   
Si C/C++ es el padre de los lenguajes entonces ASM es dios.