Suchergebnisse für Anfrage "x86"
Wie aktiviere ich SSE für meinen freistehenden bootfähigen Code?
(Diese Frage betraf ursprünglich dasCVTSI2SD Anweisung und die Tatsache, dass ich dachte, dass es auf der Pentium M-CPU nicht funktioniert, aber tatsächlich, weil ich ein benutzerdefiniertes Betriebssystem verwende und SSE manuell aktivieren ...
x86 Assembly, Segmentierungsfehler erhalten
section .data msg: db "hello!", 10, 0 ;my message section .text extern printf ;C printf function global main main: push ebp mov ebp, esp call print_string mov esp, ebp pop ebp ret ;end of program print_string: pusha push msg call printf ;should ...
Write x86 asm funktioniert portabel (win / linux / osx), ohne dass ein Build von yasm / nasm abhängt?
par2 [https://github.com/Parchive/par2cmdline] hat eine kleine und ziemlich saubere C ++ - Codebasis, die meiner Meinung nach gut unter GNU / Linux, OS X und Windows (mit MSVC ++) funktioniert. Ich möchte eine x86-64-asm-Version der einen ...
Probleme mit ADC / SBB und INC / DEC in engen Schleifen auf einigen CPUs
Ich schreibe einen einfachen BigInteger-Typ in Delphi. Es besteht hauptsächlich aus einem dynamischen Array von TLimb, wobei TLimb eine 32-Bit-Ganzzahl ohne Vorzeichen und ein 32-Bit-Größenfeld ist, das auch das Vorzeichenbit für die BigInteger ...
Gibt es unter Verwendung von EMU8086 eine direkte Möglichkeit, den Hex-Wert einer Variablen zu drucken?
Ich verwende EMU8086 auf einem Windows 7 HP x64 Intel i3-2330m-PC. Ich habe ungefähr zwei Wochen damit verbracht, dieses Assembler-Programm zu erforschen und daran zu basteln, um den Hexadezimalwert einer vom Benutzer eingegebenen Ganzzahl zu ...
Nicht temporäre Lasten und der Hardware-Prefetcher funktionieren zusammen?
Bei der Ausführung einer Reihe von_mm_stream_load_si128() Anrufe MOVNTDQA) Wird der Hardware-Pre-Fetcher von aufeinanderfolgenden Speicherorten noch aktiviert, oder sollte ich explizites Software-Prefetching (mit NTA-Hinweis) verwenden, um die ...
Was bedeutet MOV EAX, DWORD PTR DS: [ESI] und was macht es?
Okay, also ich habe diese Zeile in meiner Baugruppe MOV EAX, DWORD PTR DS:[ESI]wo ESI ist00402050 (ascii, "123456789012") Nach dieser Anweisung:EAX = 34333231 Was ist hier wirklich passiert? Wie wird dieser Wert berechnet und warum? Wo kann ...
Was ist der Sinn der Cache-Kohärenz?
Auf CPUs wie x86, die Cache-Kohärenz bieten, wie ist dies aus praktischer Sicht sinnvoll? Ich verstehe, dass die Idee ist, Speicheraktualisierungen auf einem Kern sofort auf allen anderen Kernen sichtbar zu machen. Dies ist eine ...
Schnellste Methode zur Berechnung des Absolutwerts mit SSE
ch kenne 3 Methoden, aber soweit ich weiß, werden im Allgemeinen nur die ersten 2 verwende Maskiere das Vorzeichen-Bit mitandps oderandnotps. Pros: Eine schnelle Anweisung, wenn sich die Maske bereits in einem Register befindet, was sie perfekt ...
Atomic-Operationen, std :: atomic <> und Reihenfolge der Schreibvorgänge
GCC kompiliert dies: #include <atomic> std::atomic<int> a; int b(0); void func() { b = 2; a = 1; } dazu: func(): mov DWORD PTR b[rip], 2 mov DWORD PTR a[rip], 1 mfence ret Also, um die Dinge für mich zu klären: Ist jeder andere Thread, der ...