Cuando creas un proc y modificas alguno registro previamente hay que salvaguardarlos para despues modificarlos y ahora si regresarlos a su valor original
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?
USES es lo que buscas:
http://flatassembler.net/docs.php?article=win32#1.3
Gracias Eternal Idol por la respuesta
pongo el equivalente de uses en masm pero ahora en Fasm es muy similar al de masm
;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