Que se passe-t-il lorsque vous utilisez un préfixe de remplacement de mémoire mais que tous les opérandes sont des registres? Donc, disons que vous codez mov eax, ebx
ou add eax, ebx
et que la valeur par défaut est 32 bits, mais que vous utilisez un remplacement de 67 heures.Que se passe-t-il lorsque vous utilisez un préfixe de remplacement de mémoire mais que tous les opérandes sont des registres?
Comment le processeur gère-t-il cette situation?
'66' est le préfixe opérande taille, il fait dans' hache mov, bx'. Vouliez-vous dire le préfixe de taille d'adresse '67'? –
Oui, j'ai modifié la question originale. Non, attendez, je voulais dire la question originale. C'était le point entier, mélangeant un préfixe de mémoire sans opérandes de mémoire. – matrix2
'66' n'est pas un préfixe" mémoire ". '89 d8' est' mov eax, ebx'. '66 89 d8' est' mov ax, bx' (en mode 32 ou 64 bits, sinon le préfixe 66 fait que la taille de l'opérande est de 32 bits au lieu de 16 par défaut). Est-ce ce que vous vouliez demander, ou aviez-vous vraiment besoin de savoir sur le préfixe de taille d'adresse '67' qui fait' mov eax, [ebx] 'dans' mov eax, [bx] '. (Ou en mode 64 bits, 'mov eax, [rbx]' dans 'mov eax, [ebx]'.) –