Je suis un programmeur novice qui tente d'assembler pour la première fois. Désolé d'avance si c'est une question incroyablement boiteuse.Conflit de taille d'opérande dans l'assembly x86?
J'ai un caractère stocké dans le registre EAX, mais j'ai besoin de le déplacer vers mon registre DL. Quand j'essaye: mov dl, eax j'obtiens une erreur C2443: conflit de taille d'opérande. Je sais que le registre eax est de 32 bits alors que le dl est de 8 bits ... suis-je sur quelque chose ?? Comment puis-je résoudre ce problème?
C'est exact. Le registre EAX a une largeur de 32 bits, alors que DL n'est que de 8 bits. Vous devez déplacer AL à DL, AL étant un sous-ensemble de EAX. – MPelletier
Et xoring edx est juste une bonne idée :) Belle et propre. – MPelletier
Je ne comprends pas la première instruction. Est-ce que 'xor edx, edx' n'annulera pas * tous * les bits de% edx? –