DUDA con MOVSX

Iniciado por x64core, 2 Diciembre 2011, 07:38 AM

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

x64core

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 ?

Eternal Idol

0x7B (123) no es negativo en ningun caso, cambialo por 0x82 (-126) y depuralo, asi si vas a ver que CX es FF82.
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

x64core

Gracias Eternal Idol:)
ahora entiendo
   mov bx,-100
   movsx eax,bx

Eternal Idol

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