Questions marquées «x86»

x86 est une architecture dérivée du processeur Intel 8086. La famille x86 comprend les architectures 32 bits IA-32 et 64 bits x86-64, ainsi que les architectures 16 bits héritées. Les questions concernant ce dernier doivent être marquées [x86-16] et / ou [emu8086]. Utilisez la balise [x86-64] si votre question est spécifique à x86-64 64 bits. Pour le FPU x86, utilisez la balise [x87]. Pour SSE1 / 2/3/4 / AVX *, utilisez également [sse] et l'un des [avx] / [avx2] / [avx512] qui s'applique




5
À quoi sert le registre de pointeur de trame EBP?
Je suis un débutant en langage d'assemblage et j'ai remarqué que le code x86 émis par les compilateurs garde généralement le pointeur de cadre, même en mode version / optimisé, lorsqu'il pourrait utiliser le EBPregistre pour autre chose. Je comprends pourquoi le pointeur de trame peut faciliter le débogage du …


2
Comment fonctionne la pagination x86?
Cette question vise à combler le vide d'une bonne information gratuite sur le sujet. Je crois qu'une bonne réponse s'intégrera dans une grande réponse SO ou du moins dans quelques réponses. L'objectif principal est de donner aux débutants juste assez d'informations pour qu'ils puissent prendre le manuel par eux-mêmes et …






3
L'utilisation de gdb pour un code d'assemblage en une seule étape en dehors de l'exécutable spécifié provoque l'erreur "Impossible de trouver les limites de la fonction actuelle"
Je suis en dehors de l'exécutable cible de gdb et je n'ai même pas de pile correspondant à cette cible. Je veux quand même faire une seule étape, afin de pouvoir vérifier ce qui se passe dans mon code d'assemblage, car je ne suis pas un expert en assemblage x86. …

3
Le double cast en int non signé sur Win32 est tronqué à 2 147 483 648
Compiler le code suivant: double getDouble() { double value = 2147483649.0; return value; } int main() { printf("INT_MAX: %u\n", INT_MAX); printf("UINT_MAX: %u\n", UINT_MAX); printf("Double value: %f\n", getDouble()); printf("Direct cast value: %u\n", (unsigned int) getDouble()); double d = getDouble(); printf("Indirect cast value: %u\n", (unsigned int) d); return 0; } Sorties (MSVC …

1
Les instructions x86 nécessitent-elles leur propre encodage ainsi que tous leurs arguments pour être présents en mémoire en même temps?
J'essaie de comprendre s'il est possible d'exécuter une machine virtuelle Linux dont la RAM n'est sauvegardée que par une seule page physique. Pour simuler cela, j'ai modifié le gestionnaire de défaut de page imbriqué dans KVM pour supprimer le bit actuel de toutes les entrées de table de page imbriquée …


En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.