Für mich scheint es nur ein funky MOV zu sein. Was ist ihr Zweck und wann sollte ich es
x86-64 ist eine 64-Bit-Erweiterung der Intel x86-Architektur
Für mich scheint es nur ein funky MOV zu sein. Was ist ihr Zweck und wann sollte ich es
Ich habe 2009 zum ersten Mal festgestellt, dass GCC (zumindest bei meinen Projekten und auf meinen Maschinen) die Tendenz hat, merklich schnelleren Code zu generieren, wenn ich für Größe ( -Os) anstelle von Geschwindigkeit ( -O2oder -O3) optimiere , und ich habe mich seitdem gefragt, warum. Ich...
Ich habe eine beliebige Liste von .NET-Assemblys. Ich muss programmgesteuert prüfen, ob jede DLL für x86 erstellt wurde (im Gegensatz zu x64 oder einer beliebigen CPU). Ist das
Ich habe über divund mulMontagevorgänge gelesen und mich entschlossen, sie in Aktion zu sehen, indem ich ein einfaches Programm in C schrieb: Dateidivision.c #include <stdlib.h> #include <stdio.h> int main() { size_t i = 9; size_t j = i / 5; printf("%zu\n",j); return 0; } Und dann...
Hintergrund: Beim Optimieren von Pascal- Code mit eingebetteter Assemblersprache bemerkte ich eine unnötige MOVAnweisung und entfernte sie. Zu meiner Überraschung wurde mein Programm durch das Entfernen der nicht erforderlichen Anweisungen langsamer . Ich fand heraus, dass das Hinzufügen...
Die folgenden Links erläutern die x86-32-Systemaufrufkonventionen für UNIX (BSD-Version) und Linux: http://www.int80h.org/bsdasm/#system-calls http://www.freebsd.org/doc/en/books/developers-handbook/x86-system-calls.html Aber wie lauten die x86-64-Systemaufrufkonventionen unter UNIX und...
Ich glaube, ich habe bei der Implementierung von O'Neills PCG PRNG einen Fehler in GCC gefunden. ( Anfangscode im Compiler Explorer von Godbolt ) Nach dem Multiplizieren oldstatemitMULTIPLIER , (Ergebnis in RDI gespeichert), GCC trägt nicht das Ergebnis an INCREMENT, movabs'ing INCREMENTstattdessen...
Ich möchte feststellen, ob eine native Assembly von einer verwalteten Codeanwendung ( C # ) als x64 oder x86 erfüllt wird . Ich denke, es muss sich irgendwo im PE-Header befinden, da der OS-Loader diese Informationen kennen muss, aber ich konnte sie nicht finden. Natürlich bevorzuge ich es in...
Rust hat 128-Bit-Ganzzahlen, diese werden mit dem Datentyp i128(und u128für vorzeichenlose Ints) bezeichnet: let a: i128 = 170141183460469231731687303715884105727; Wie macht Rust diese? i128 Werte auf einem 64-Bit-System funktionieren? zB wie rechnet man damit? Da der Wert meines Wissens nicht...
In der x86-64-Tour der Intel-Handbücher habe ich gelesen Die vielleicht überraschendste Tatsache ist, dass ein Befehl wie beispielsweise MOV EAX, EBXautomatisch die oberen 32 RAXRegisterbits auf Null setzt . In der Intel-Dokumentation (3.4.1.1 Allzweckregister im 64-Bit-Modus in der manuellen...
Ich habe ein kleines Dilemma beim Einrichten meiner Visual Studio-Builds für Multi-Targeting. Hintergrund: c # .NET v2.0 mit p / Aufruf in 32-Bit-DLLs von Drittanbietern, SQL compact v3.5 SP1, mit einem Setup-Projekt. Derzeit ist das Plattformziel auf x86 festgelegt, damit es unter Windows x64...
AMD verfügt über eine ABI-Spezifikation, die die auf x86-64 zu verwendende Aufrufkonvention beschreibt. Alle Betriebssysteme folgen ihm, mit Ausnahme von Windows, das über eine eigene x86-64-Aufrufkonvention verfügt. Warum? Kennt jemand die technischen, historischen oder politischen Gründe für...
Diese Frage passt derzeit nicht zu unserem Q & A-Format. Wir erwarten, dass die Antworten durch Fakten, Referenzen oder Fachwissen gestützt werden, aber diese Frage wird wahrscheinlich zu Debatten, Argumenten, Umfragen oder erweiterten Diskussionen führen. Wenn Sie der Meinung...
Ich versuche, einen Windows-Dienst mit InstallUtil.exe zu installieren, und erhalte die Fehlermeldung System.BadImageFormatException: Datei oder Assembly ' {xxx.exe}' oder eine ihrer Abhängigkeiten konnte nicht geladen werden . Es wurde versucht, ein Programm mit einem falschen Format zu...
Ich mache einige leistungskritische Arbeiten in C ++ und wir verwenden derzeit ganzzahlige Berechnungen für Probleme, die von Natur aus Gleitkommawerte sind, weil "es schneller ist". Dies verursacht eine Menge nerviger Probleme und fügt viel nervigen Code hinzu. Jetzt erinnere ich mich, dass ich...
In einem Buch habe ich folgendes gelesen: 32-Bit-Prozessoren haben 2 ^ 32 mögliche Adressen, während aktuelle 64-Bit-Prozessoren einen 48-Bit-Adressraum haben Meine Erwartung war, dass der Adressraum bei einem 64-Bit-Prozessor ebenfalls 2 ^ 64 betragen sollte. Also habe ich mich gefragt, was...
Was heißt rep; nopdas Ist es dasselbe wie pauseAnweisung? Ist es dasselbe wie rep nop(ohne das Semikolon)? Was ist der Unterschied zu der einfachen nopAnweisung? Verhält es sich auf AMD- und Intel-Prozessoren anders? (Bonus) Wo ist die offizielle Dokumentation für diese Anweisungen? Motivation für...
Ich arbeite gerade mit Shared Memory. Ich kann nicht verstehen alignofund alignas. cppreference ist unklar: Gibtalignof "Ausrichtung" zurück, aber was ist "Ausrichtung"? Anzahl der hinzuzufügenden Bytes für den nächsten auszurichtenden Block? gepolsterte Größe? Stapelüberlauf / Blogeinträge sind...
Eine Möglichkeit, cmake dazu zu bringen, x86 unter Windows mit Visual Studio zu erstellen, ist folgende: Starten Sie die Visual Studio-Eingabeaufforderung für x86 Führen Sie cmake aus: cmake -G "NMake Makefiles" \path_to_source\ nmake Eine Möglichkeit, cmake dazu zu bringen, x64 unter Windows mit...