assembly

Assemblersprache (asm) Programmierfragen. Achten Sie darauf, auch mit dem Prozessor und / oder Befehlssatz, die Sie verwenden, sowie den Assembler TAG. WARNUNG: Verwenden Sie für .NET-Assemblies stattdessen das Tag [.net-assembly]. Verwenden Sie für Java ASM stattdessen das Tag [java-bytecode-asm].
1
Antwort

Integer Division mit Multiplikation durchführen

Beim Betrachten der x86-Assembly, die von einem Compiler erzeugt wurde, habe ich bemerkt, dass (nicht vorzeichenbehaftete) Integer-Divisionen manchmal als ganzzahlige Multiplikationen implementiert sind. Diese Optimierungen scheinen der Form zu...
11.06.2015, 19:52
2
Antworten

Stapelausrichtung in x64-Assembly

Wie ist der Wert von 28h (dezimal 40), der von rsp im folgenden berechnet wird: %Vor% aus: Ссылка Nach meinem Verständnis müsste ich nur 20h subtrahieren, da jeder Wert, den ich benutze, 8 Bytes in 4 ist, ist 20h . Also warum...
02.10.2013, 00:45
3
Antworten

In welcher Assemblersprache wird C-Code in Visual Studio kompiliert?

Wenn ich ein C-Projekt debugge, kann ich alle Assemblercodes sehen, in die es kompiliert wird. Ich möchte wissen, welche Assemblersprache das ist. Ist es NASM oder MASM oder etwas anderes? Und wenn ich Inline-Assembly verwende, kann ich dann ein...
04.05.2015, 11:20
1
Antwort

Vectorizing Modular Arithmetic

Ich versuche, einen einigermaßen schnellen komponentenweisen Vektoradditionscode zu schreiben. Ich arbeite mit 64-Bit-Ganzzahlen (signiert, glaube ich). Die Funktion ist %Vor% Ich kompiliere mit icc -std=gnu99 -O3 (icc, damit ich späte...
16.12.2013, 06:35
1
Antwort

mov eax, große fs: 30h

Ich habe einige x86-Binärdateien analysiert und die folgende Anweisung gefunden, die ich nicht verstehen kann. Kann mir bitte jemand die folgenden Anweisungen erklären? %Vor% Ich habe das gegoogelt, und es stellt sich heraus, dass es ein Ant...
24.01.2013, 08:19
1
Antwort

Baugruppenbefehle LEA / LDS / LES [duplizieren]

Was ist der Unterschied zwischen den folgenden Befehlen: LEA , LDS , LES ? Ich suchte nach der Antwort, aber ich bin nicht sehr klar darin. Soweit ich das verstanden habe, sollte block1 gleich block2 sein. %Vor% ... aber wenn i...
06.12.2013, 22:01
2
Antworten

Syscall oder sysenter auf 32 bit Linux?

Seit MS-DOS kenne ich den Systemaufruf mit Interrupts. In alten Papieren sah ich einen Verweis auf int 80h , um Systemfunktionen unter Linux aufzurufen. Seit einiger Zeit weiß ich, dass int 80h zugunsten der Anweisung syscall veraltet is...
24.03.2013, 12:54
2
Antworten

Laden von einer 64-Bit-Adresse in ein anderes Register als Rax

Unter x64 kann das Laden von einer absoluten 64-Bit-Adresse (dh das Dereferenzieren eines direkten 64-Bit) durch erfolgen %Vor% Wenn das Zielregister jedoch ein anderes als rax ist, gibt der Assembler die Fehlermeldung operand size misma...
16.10.2013, 22:38
1
Antwort

___ tag123x86 ___ x86 ist eine Architektur, die von der Intel 8086 CPU abgeleitet ist. Die x86-Familie umfasst die 32-Bit-Architektur IA-32 und 64-Bit x86-64 sowie 16-Bit-Legacy-Architekturen. Fragen zu letzterem sollten mit [x86-16] und / oder [emu8086] getaggt werden. Verwenden Sie das Tag [x86-64], wenn Ihre Frage für 64-Bit x86-64 spezifisch ist. Verwenden Sie für die x86-FPU das Tag [x87]. Für SSE1 / 2/3/4 / AVX * verwenden Sie auch [sse] und alle zutreffenden [avx] / [avx2] / [avx512] ___ qstnhdr___mov% eax, (% esp) ___ qstntxt ___

Was ist der Unterschied zwischen den folgenden Aussagen?

%Vor%

Ich arbeite an der Verbreitung einer binären Bombe und habe schon früh Probleme mit einigen der Befehle %code% und %code% in der Assembly.

    
___ tag123addressingmode ___ Ein Adressierungsmodus spezifiziert, wie die effektive Speicheradresse eines Operanden berechnet wird, indem Informationen verwendet werden, die in Registern und / oder Konstanten gehalten werden, die in einem Maschinenbefehl oder anderswo enthalten sind. ___ tag123assembly ___ Assemblersprache (asm) Programmierfragen. Achten Sie darauf, auch mit dem Prozessor und / oder Befehlssatz, die Sie verwenden, sowie den Assembler TAG. WARNUNG: Verwenden Sie für .NET-Assemblies stattdessen das Tag [.net-assembly]. Verwenden Sie für Java ASM stattdessen das Tag [java-bytecode-asm]. ___ tag123att ___ AT & T Syntax ist eine Assembly-Syntax, die in UNIX-Umgebungen verwendet wird und von AT & T Bell Labs stammt. Es stammt von der MIPS-Assembly-Syntax ab. ___ answer12978084 ___

Dies kopiert den Wert in% eax in% esp.

%Vor%

Dies kopiert den Wert von% eax an den Ort im Speicher, auf den% esp zeigt.

%Vor%     
___ tag123mov ___ Fragen zum Assembler 'mov' Befehl ___

Was ist der Unterschied zwischen den folgenden Aussagen? %Vor% Ich arbeite an der Verbreitung einer binären Bombe und habe schon früh Probleme mit einigen der Befehle mov und leal in der Assembly.     
19.10.2012, 15:57
5
Antworten

Design Pattern für die Herstellung eines Assembler

Ich mache einen 8051 Assembler. Vor allem ist ein Tokenizer, der die nächsten Token liest, Fehlerflags setzt, EOF usw. erkennt Dann gibt es die Hauptschleife des Compilers, der die nächsten Token liest und nach gültigen Mnemonics sucht: %Vo...
07.04.2011, 19:49