Als «assembly» getaggte Fragen

Fragen zur Assembler-Programmierung (asm). Stellen Sie sicher, dass Sie auch den Prozessor und / oder den Befehlssatz, den Sie verwenden, sowie den Assembler markieren. WARNUNG: Verwenden Sie für .NET-Assemblys stattdessen das Tag [.net-Assembly]. Verwenden Sie für Java ASM stattdessen das Tag [java-bytecode-asm].

1
Warum haben ARM-Chips eine Anweisung mit Javascript im Namen (FJCVTZS)?
FJCVTZS ist "Gleitkomma-Javascript-Konvertierung in signierten Festpunkt, Rundung in Richtung Null". Es wird in Arm v8.3-A-Chips und höher unterstützt. Was seltsam ist, weil Sie nicht erwarten, dass JavaScript so nah am Bare Metal ist. Ich kann Erklärungen finden, was die Anweisung tut, aber nicht, warum sie existiert. In diesem Thread heißt …
137 javascript  assembly  arm 




3
Was bedeutet "nicht zeitlicher" Speicherzugriff in x86?
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 bedeutet nicht-zeitlich ?
123 x86  sse  assembly 


5
Zweck von ESI & EDI Registern?
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 geben?
119 assembly  x86 


8
`testl` eax gegen eax?
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 verstehen %eax? Ich denke, die Einzelheiten dieses Codes sind …

4
Wofür werden CFI-Direktiven in Gnu Assembler (GAS) verwendet?
Es scheint nach jeder Zeile eine .CFI-Direktive zu geben, und es gibt auch eine große Vielfalt dieser Beispiele .cfi_startproc, .cfi_endprocusw., mehr hier . .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 .cfi_def_cfa_register 6 movl $0, %eax leave …
118 assembly  gas 

3
Warum setzen x86-64-Befehle in 32-Bit-Registern den oberen Teil des vollständigen 64-Bit-Registers auf Null?
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 Basisarchitektur), die an derselben Quelle zitiert wird, heißt es: 64-Bit-Operanden erzeugen …

9
Wie kann ich die Assembly hinter dem Code mit Visual C ++ anzeigen?
Ich las eine andere Frage bezüglich der Effizienz von zwei Codezeilen, und das OP sagte, dass er die Baugruppe hinter dem Code betrachtete und beide Zeilen in der Baugruppe identisch waren. Abgesehen von Exkurs, wie könnte ich den Assembler-Code anzeigen, der beim Kompilieren eines Programms erstellt wurde? Ich verwende Visual …


6
Warum ist SSE skalar sqrt (x) langsamer als rsqrt (x) * x?
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 erhalten, muss der native sqrt-opcode verwendet werden! Ich teste …

10
Warum ist x86 hässlich? Warum wird es im Vergleich zu anderen als minderwertig angesehen? [geschlossen]
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 sind, dass diese Frage verbessert und möglicherweise erneut geöffnet werden kann, …

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.