Könnte jemand erklären, was das bedeutet? (Intel Syntax, x86, Windows) and dword ptr [ebp-4], 0
Könnte jemand erklären, was das bedeutet? (Intel Syntax, x86, Windows) and dword ptr [ebp-4], 0
Dies ist eine etwas untergeordnete Frage. In der x86-Assembly gibt es zwei SSE-Anweisungen: MOVDQA xmmi, m128 und MOVNTDQA xmmi, m128 Das IA-32 Software Developer's Manual besagt, dass der NT in MOVNTDQA für Non-Temporal steht steht und ansonsten dasselbe wie MOVDQA ist. Meine Frage ist, was...
Alle folgenden Anweisungen machen dasselbe: %eaxauf Null setzen. Welcher Weg ist optimal (erfordert nur wenige Maschinenzyklen)? xorl %eax, %eax mov $0, %eax andl $0,
Was ist der eigentliche Zweck und die Verwendung der EDI- und ESI-Register im Assembler? Ich weiß, dass sie zum einen für String-Operationen verwendet werden. Kann jemand auch ein Beispiel
Ich versuche eine Versammlung zu verstehen. Die Montage wie folgt interessiert mich an der testlLinie: 000319df 8b4508 movl 0x08(%ebp), %eax 000319e2 8b4004 movl 0x04(%eax), %eax 000319e5 85c0 testl %eax, %eax 000319e7 7407 je 0x000319f0 Ich versuche diesen Punkt testlzwischen %eaxund zu...
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 gestern Ubuntu 14.04 (Trusty Tahr) installiert. Alles scheint in Ordnung zu sein. Beim Versuch, C-Code zu kompilieren, tritt jedoch der folgende Fehler auf. Der Fehler scheint auf das Betriebssystem zurückzuführen zu sein, dem die 32-Bit-Architekturunterstützung fehlt. Die Fehlerausgabe...
Ich habe einige unserer Kernmathematiken auf einem Intel Core Duo profiliert und bei der Betrachtung verschiedener Ansätze zur Quadratwurzel etwas Seltsames festgestellt: Mit den skalaren SSE-Operationen ist es schneller, eine reziproke Quadratwurzel zu nehmen und zu multiplizieren um das sqrt zu...
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...
Einige Fragen zu den x86-CPU-Berechtigungsringen: Warum werden die Ringe 1 und 2 von den meisten Betriebssystemen nicht verwendet? Ist es nur, um die Codekompatibilität mit anderen Architekturen aufrechtzuerhalten, oder gibt es einen besseren Grund? Gibt es Betriebssysteme, die diese Ringe...
Ich weiß also, wie die folgenden Register und ihre Verwendung aussehen sollen: CS = Codesegment (für IP verwendet) DS = Datensegment (für MOV verwendet) ES = Zielsegment (wird für MOVS usw. verwendet) SS = Stapelsegment (für SP verwendet) Aber wofür sollen die folgenden Register verwendet...
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...
Ich bin ein Anfänger in Assemblersprache und habe festgestellt, dass der von Compilern ausgegebene x86-Code den Frame-Zeiger normalerweise auch im Release- / optimierten Modus herumhält, wenn er das EBPRegister für etwas anderes verwenden könnte. Ich verstehe, warum der Frame-Zeiger das Debuggen...
Wenn man über das Lese Assembler ich über die Menschen kommt oft zu schreiben , dass sie schieben ein bestimmtes Register des Prozessors und Pop es später wieder wiederherstellen vorheriger Zustand. Wie kann man ein Register schieben? Wo wird es weitergeschoben? Warum wird das benötigt? Kommt es...
Ich möchte den MBR (die ersten 512 Bytes) einer bootfähigen x86-Festplatte, die ich habe, zerlegen. Ich habe den MBR mit in eine Datei kopiert dd if=/dev/my-device of=mbr bs=512 count=1 Irgendwelche Vorschläge für ein Linux-Dienstprogramm, das die Datei zerlegen kann
Diese Frage soll das Vakuum guter freier Informationen zu diesem Thema füllen. Ich glaube, dass eine gute Antwort in eine große SO-Antwort oder zumindest in einige wenige Antworten passt. Das Hauptziel ist es, vollständigen Anfängern gerade genug Informationen zu geben, damit sie das Handbuch...
Beginnend mit Pentium Pro (P6-Mikroarchitektur) hat Intel seine Mikroprozessoren neu gestaltet und den internen RISC-Kern gemäß den alten CISC-Anweisungen verwendet. Seit Pentium Pro werden alle CISC-Anweisungen in kleinere Teile (uops) unterteilt und dann vom RISC-Kern ausgeführt. Am Anfang war...
Ich wollte etwas Grundlegendes in Assembly unter Windows schreiben, ich verwende NASM, aber ich kann nichts zum Laufen bringen. Wie schreibe und kompiliere ich hallo world ohne die Hilfe von C-Funktionen unter
In x86 - Assembler - Code sind JEund JNEgenau das gleiche wie JZund JNZ?