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...
Il semble y avoir une directive .CFI après chaque ligne et il y a aussi large de ces variétés ex., .cfi_startproc, .cfi_endprocEtc .. plus ici . .file "temp.c" .text .globl main .type main, @function main: .LFB0: .cfi_startproc pushq %rbp .cfi_def_cfa_offset 16 movq %rsp, %rbp .cfi_offset 6, -16...
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...
Je lisais une autre question concernant l'efficacité de deux lignes de code, et l'OP a dit qu'il regardait l'assemblage derrière le code et que les deux lignes étaient identiques dans l'assemblage. Digression à part, comment pourrais-je voir le code d'assemblage créé lors de la compilation d'un...
Quels langages peuvent être compilés en WebAssembly (Wasm)? Je pense qu'à l'heure actuelle, C, C ++ et Rust (expérimental) peuvent être compilés vers WebAssembly, avec le backend du compilateur llvm, avec des langages comme Java, Swift et C # qui ne sont pas actuellement pris en charge, mais sont...
Fermé . Cette question doit être plus ciblée . Il n'accepte pas les réponses actuellement. Vous souhaitez améliorer cette question? Mettez à jour la question pour qu'elle se concentre sur un problème uniquement en éditant ce message . Fermé il y a 4 ans . Améliorez cette question Cela pourrait...
Je souhaite afficher les dossiers et sous-dossiers dans GAC . Vous voulez également en savoir plus sur l'ajout et la suppression de GAC . Pour installer nous écrivons ces lignes dans l'invite de commande en ouvrant Visual Studio command prompt: - gacutil /i [assembly path] Mais pour désinstaller,...
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...
Je suis confus à propos du code machine et du code natif dans le contexte des langages .NET. Quelle est la différence entre eux? Sont-ils les
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 de mieux comprendre comment fonctionnent les opérations de bas niveau des langages de programmation et en particulier comment ils interagissent avec le système d'exploitation / CPU. J'ai probablement lu toutes les réponses dans chaque thread lié à la pile / au tas ici sur Stack Overflow,...
Fermé . Cette question est basée sur l'opinion . Il n'accepte pas les réponses actuellement. Vous souhaitez améliorer cette question? Mettez à jour la question afin de pouvoir y répondre avec des faits et des citations en éditant ce message . Fermé il y a 3 ans . Améliorez cette question J'ai...
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...
Je prépare du matériel de formation en C et je souhaite que mes exemples correspondent au modèle de pile typique. Dans quelle direction une pile C évolue-t-elle sous Linux, Windows, Mac OSX (PPC et x86), Solaris et les Unix les plus récents?
J'ai lu récemment sur asm.js et WebAssembly: http://ejohn.org/blog/asmjs-javascript-compile-target/ https://brendaneich.com/2015/06/from-asm-js-to-webassembly/ Je suis encore confus sur certaines choses: Le code asm.js est-il compilé à temps et exécuté? Compilé en quoi? A part asm.js étant du texte...
J'essaie de scanner un assembly pour les types implémentant une interface spécifique en utilisant un code similaire à celui-ci: public List<Type> FindTypesImplementing<T>(string assemblyPath) { var matchingTypes = new List<Type>(); var asm = Assembly.LoadFrom(assemblyPath);...