Quelqu'un pourrait-il expliquer ce que cela signifie? (Syntaxe Intel, x86, Windows) and dword ptr [ebp-4], 0
Quelqu'un pourrait-il expliquer ce que cela signifie? (Syntaxe Intel, x86, Windows) and dword ptr [ebp-4], 0
C'est une question quelque peu basique. Dans l'assemblage x86, il existe deux instructions SSE: MOVDQA xmmi, m128 et MOVNTDQA xmmi, m128 Le manuel du développeur de logiciels IA-32 indique que le NT dans MOVNTDQA signifie Non-Temporel , et que sinon c'est la même chose que MOVDQA. Ma question est:...
Toutes les instructions suivantes font la même chose: mettre %eaxà zéro. Quelle voie est optimale (nécessitant le moins de cycles machine)? xorl %eax, %eax mov $0, %eax andl $0, %eax
Quel est le but réel et l'utilisation des registres EDI et ESI dans l'assembleur? Je sais qu'ils sont utilisés pour les opérations de chaîne pour une chose. Quelqu'un peut-il également donner un
Dans la visite x86-64 des manuels Intel , j'ai lu Le fait le plus surprenant est peut-être qu'une instruction telle que met MOV EAX, EBXautomatiquement à zéro les 32 bits supérieurs du RAXregistre. La documentation Intel (3.4.1.1 Registres à usage général en mode 64 bits en architecture de base...
J'essaie de comprendre un assemblage. Le montage comme suit, je suis intéressé par la testlligne: 000319df 8b4508 movl 0x08(%ebp), %eax 000319e2 8b4004 movl 0x04(%eax), %eax 000319e5 85c0 testl %eax, %eax 000319e7 7407 je 0x000319f0 J'essaie de comprendre ce point testlentre %eaxet %eax? Je pense...
J'ai installé Ubuntu 14.04 (Trusty Tahr) hier. Tout semble OK. Mais lorsque j'ai essayé de compiler du code C, je rencontre l'erreur suivante. L'erreur semble être due au fait que le système d'exploitation ne prend pas en charge l'architecture 32 bits. La sortie d'erreur est la suivante:...
J'ai profilé certaines de nos mathématiques de base sur un Intel Core Duo, et en examinant diverses approches de la racine carrée, j'ai remarqué quelque chose d'étrange: en utilisant les opérations scalaires SSE, il est plus rapide de prendre une racine carrée réciproque et de la multiplier. pour...
Dans l'état actuel des choses, cette question ne convient pas à notre format de questions-réponses. Nous nous attendons à ce que les réponses soient étayées par des faits, des références ou une expertise, mais cette question suscitera probablement un débat, des arguments, un sondage ou une...
J'essaie d'installer un service Windows à l'aide d'InstallUtil.exe et j'obtiens le message d'erreur System.BadImageFormatException: impossible de charger le fichier ou l'assembly ' {xxx.exe}' ou l'une de ses dépendances. Une tentative a été faite pour charger un programme avec un format incorrect....
Je sais donc ce que sont censés être les registres suivants et leurs utilisations: CS = segment de code (utilisé pour IP) DS = segment de données (utilisé pour MOV) ES = segment de destination (utilisé pour MOVS, etc.) SS = segment de pile (utilisé pour SP) Mais à quoi servent les registres...
Quelques questions concernant les sonneries de privilèges CPU x86: Pourquoi les anneaux 1 et 2 ne sont-ils pas utilisés par la plupart des systèmes d'exploitation? Est-ce simplement pour maintenir la compatibilité du code avec d'autres architectures, ou y a-t-il une meilleure raison? Existe-t-il...
Je fais un travail critique de performance en C ++, et nous utilisons actuellement des calculs entiers pour les problèmes qui sont intrinsèquement en virgule flottante parce que "c'est plus rapide". Cela cause beaucoup de problèmes ennuyeux et ajoute beaucoup de code ennuyeux. Maintenant, je me...
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...
Je voudrais démonter le MBR (512 premiers octets) d'un disque x86 amorçable que j'ai. J'ai copié le MBR dans un fichier en utilisant dd if=/dev/my-device of=mbr bs=512 count=1 Des suggestions pour un utilitaire Linux qui peut désassembler le fichier mbr?
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...
Dans le code d'assemblage x86, sont JEet JNEexactement les mêmes que JZet JNZ?
Quelqu'un peut-il expliquer ce que fait le code d'assembly suivant? int 0x80
Je voulais écrire quelque chose de basique en assemblage sous Windows, j'utilise NASM, mais je ne peux rien faire fonctionner. Comment écrire et compiler Hello World sans l'aide des fonctions C sous Windows?
En commençant par Pentium Pro (microarchitecture P6), Intel a repensé ses microprocesseurs et utilisé le cœur RISC interne selon les anciennes instructions CISC. Depuis Pentium Pro, toutes les instructions CISC sont divisées en parties plus petites (uops) puis exécutées par le noyau RISC. Au...