Pour moi, cela ressemble à un MOV funky. Quel est son objectif et quand dois-je
x86-64 est une extension 64 bits de l'architecture Intel x86
Pour moi, cela ressemble à un MOV funky. Quel est son objectif et quand dois-je
J'ai remarqué pour la première fois en 2009 que GCC (au moins sur mes projets et sur mes machines) a tendance à générer un code sensiblement plus rapide si j'optimise pour la taille ( -Os) au lieu de la vitesse ( -O2ou -O3), et je me demande depuis pourquoi. J'ai réussi à créer (plutôt stupide) du...
J'ai une liste arbitraire d'assemblys .NET. Je dois vérifier par programme si chaque DLL a été créée pour x86 (par opposition à x64 ou à n'importe quel processeur). Est-ce
J'ai lu div et mulles opérations d'assemblage, et j'ai décidé de les voir en action en écrivant un programme simple en C: Fichier division.c #include <stdlib.h> #include <stdio.h> int main() { size_t i = 9; size_t j = i / 5; printf("%zu\n",j); return 0; } Et puis générer du code en...
Contexte: En optimisant du code Pascal avec un langage d'assemblage intégré, j'ai remarqué une MOVinstruction inutile et je l'ai supprimée. À ma grande surprise, la suppression des instructions inutiles a entraîné un ralentissement de mon programme . J'ai trouvé que l' ajout d' MOVinstructions...
Les liens suivants expliquent les conventions d'appel système x86-32 pour UNIX (saveur BSD) et Linux: http://www.int80h.org/bsdasm/#system-calls http://www.freebsd.org/doc/en/books/developers-handbook/x86-system-calls.html Mais quelles sont les conventions d'appel système x86-64 sous UNIX et...
Je crois avoir trouvé un bogue dans GCC lors de l'implémentation du PCG PRNG d'O'Neill. ( Code initial sur Godbolt's Compiler Explorer ) Après la multiplication oldstatepar MULTIPLIER, (résultat stocké dans rdi), GCC n'ajoute pas ce résultat à INCREMENT, movabs'ing INCREMENTà rdx à la place, qui...
Je veux déterminer si un assembly natif est conforme en tant que x64 ou x86 à partir d'une application de code managé ( C # ). Je pense que cela doit être quelque part dans l'en-tête PE car le chargeur du système d'exploitation doit connaître ces informations, mais je ne les ai pas trouvées. Bien...
Rust a des entiers de 128 bits, ceux-ci sont indiqués avec le type de données i128(et u128pour les entiers non signés): let a: i128 = 170141183460469231731687303715884105727; Comment Rust fait fonctionner ces i128valeurs sur un système 64 bits; par exemple, comment fait-il de l'arithmétique sur ces...
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'ai un petit dilemme sur la façon de configurer mes builds de studio visuel pour le multi-ciblage. Contexte: c # .NET v2.0 avec p / invocation dans des DLL tierces 32 bits, SQL compact v3.5 SP1, avec un projet d'installation. À l'heure actuelle, la cible de la plate-forme est définie sur x86 afin...
AMD a une spécification ABI qui décrit la convention d'appel à utiliser sur x86-64. Tous les systèmes d'exploitation le suivent, à l'exception de Windows qui a sa propre convention d'appel x86-64. Pourquoi? Quelqu'un connaît-il les raisons techniques, historiques ou politiques de cette différence,...
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 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...
Dans un livre, j'ai lu ce qui suit: Les processeurs 32 bits ont 2 ^ 32 adresses possibles, tandis que les processeurs 64 bits actuels ont un espace d'adressage de 48 bits Je m'attendais à ce que s'il s'agissait d'un processeur 64 bits, l'espace d'adressage devrait également être de 2 ^ 64. Alors je...
J'étudiais la rentrée dans la programmation. Sur ce site d'IBM (vraiment bon). J'ai fondé un code, copié ci-dessous. C'est le premier code qui arrive sur le site Web. Le code essaie de montrer les problèmes liés à l'accès partagé aux variables dans un développement non linéaire d'un programme texte...
Je suis sur Whisky Lake i7-8565U et les compteurs de et le temps nécessaire pour copier 512 Ko de données (deux fois plus que la taille du cache L2) et fait face à un malentendu concernant le travail du préfiltre L2 HW. Dans le manuel Intel vol.4 MSR, il y a MSR dont 0x1A4le bit 0 sert à contrôler...
Je me bats avec la section 5.1.2.4 de la norme C11, en particulier la sémantique de Release / Acquire. Je note que https://preshing.com/20120913/acquire-and-release-semantics/ (entre autres) déclare que: ... La sémantique de libération empêche la réorganisation de la mémoire de la libération en...