I have% ecx contenant le nombre de places que je veux la valeur de% esi être décalée vers la gauche, mais à ma connaissance la source de SHL doit être une valeur immédiate.Shifting Bits par valeur dans le registre
Quelqu'un peut-il me aider à comprendre comment je m'y prendrais décalant la valeur de% ecx? J'ai regardé autour et j'ai vu des gens recommander l'utilisation du registre CL. Mais y a-t-il une alternative?
Merci.
... ou masquée par 63 pour les registres 64 bits – Anty
Les bits élevés peuvent en fait la matière pour le programme, qui doit être prise au cas une attention particulière à zéro le résultat. Vous pourriez vous attendre à ce que '1 << 33' soit' 0' et non '2'. – Jester
@Jester C'est correct. Cependant, puisque Shll masquera l'opérande de décalage avec 31, peu importe si des bits élevés sont définis dans ecx car ils sont masqués de toute façon. – fuz