Bueno, debugeando un Crackme me encontre con la instruccion SHR.
Bien, pues si EAX es 03161F9A, al hacer "SHR EAX, 16" me queda en EAX 0000000C. Alguien puede explicarme esto? :-\ En teoria deberia quedarse todo ceros >:(
¿Por qué debería quedarse a cero?
CitarShifts the bits in the first operand (destination operand) to the left or right by the number of bits specified in the second operand
Es decir, divide EAX.
Aquí tienes bastante información sobre la instrucción: http://faydoc.tripod.com/cpu/shr.htm
Si no entiendes del todo qué o cómo lo hace, hazte un codigo en asm que use shl con valores pequeños, y depuralo.
Ya entendí :P
Muchisimas gracias ;D