Foro de elhacker.net

Programación => ASM => Mensaje iniciado por: x64core en 2 Diciembre 2011, 07:38 am



Título: DUDA con MOVSX
Publicado por: x64core en 2 Diciembre 2011, 07:38 am
Hola! :D
tengo un problema no se pero tengo estas intrucciones:
los xor's solo para aclarar los registros...

   xor ebx,ebx
   mov bl,7bh
   xor ecx,ecx
   movsx cx,bl

MOVSX se supone que rellena con 1's asi hacer un numero con signo
pero el valor de CX queda: 0000 007B a nivel de 32 bits :/ porque?
no se supondria que deberia quedar FFFF FF7B ? o al menos solo el CX como 0000 FF7B ?


Título: Re: DUDA con MOVSX
Publicado por: Eternal Idol en 2 Diciembre 2011, 09:11 am
0x7B (123) no es negativo en ningun caso, cambialo por 0x82 (-126) y depuralo, asi si vas a ver que CX es FF82.


Título: Re: DUDA con MOVSX
Publicado por: x64core en 2 Diciembre 2011, 21:00 pm
Gracias Eternal Idol:)
ahora entiendo
   mov bx,-100
   movsx eax,bx


Título: Re: DUDA con MOVSX
Publicado por: Eternal Idol en 2 Diciembre 2011, 22:07 pm
De nadas  ::)