Buenas, a ver si podéis echarme una mano.
Tengo un problema con el ASM, estoy intentando recuperar el valor devuelto por una función, siendo este un puntero a char y me da un error, creo que estoy intentando acceder a una zona de memoria inválida:
En LeeValor quiero devolver un 0 pero ha de ser con el char *
void main (void)
{
printf("\nEl valor es: %s\n", LeeValor (10));
};
char * LeeValor (int NroBit)
{
char *res = "0";
__asm{
; 1ª parte:
; Salvamos los registros seguros
push edi
mov eax, dword ptr [ebp-4] ;en [ebp-4] tengo la vble local (res)
; he probado de esta forma pero no he tenido éxito tampoco
;mov byte ptr [eax], '0'
;mov byte ptr [eax+1], 0
}
}
Saludos y gracias.
Tengo un problema con el ASM, estoy intentando recuperar el valor devuelto por una función, siendo este un puntero a char y me da un error, creo que estoy intentando acceder a una zona de memoria inválida:
En LeeValor quiero devolver un 0 pero ha de ser con el char *
void main (void)
{
printf("\nEl valor es: %s\n", LeeValor (10));
};
char * LeeValor (int NroBit)
{
char *res = "0";
__asm{
; 1ª parte:
; Salvamos los registros seguros
push edi
mov eax, dword ptr [ebp-4] ;en [ebp-4] tengo la vble local (res)
; he probado de esta forma pero no he tenido éxito tampoco
;mov byte ptr [eax], '0'
;mov byte ptr [eax+1], 0
}
}
Saludos y gracias.