Suchergebnisse für Anfrage "x86"
Real mode Interrupt-Behandlungsroutine funktioniert nicht wie erwartet
Ich habe es geschafft, einen kleinen Kernel über einen Bootloader in den Speicher zu laden, der einen Weitsprung nach @ ausführ0x0090:0x0000. Der Kernel wird erfolgreich geladen, wenn ich von dort aus ein Zeichen drucke, um es zu testen, und es ...
Ist der TLB zwischen mehreren Kernen geteilt?
Ich habe gehört, dass der TLB von der MMU und nicht vom CPU-Cache verwaltet wird. Ist dann ein TLB in der CPU vorhanden und wird von allen Prozessoren gemeinsam genutzt oder verfügt jeder Prozessor über einen eigenen TLB-Cache? Kann jemand ...
Nahe Call / Jump-Tabellen funktionieren in einem Bootloader nicht immer
Allgemeines Problem Ich habe einen einfachen Bootloader entwickelt und bin auf ein Problem in einigen Umgebungen gestoßen, in denen Anweisungen wie diese nicht funktionieren: mov si, call_tbl ; SI=Call table pointer call [call_tbl] ; Call ...
Assembly - Wie ändere ich die Stapelgröße?
Ich bin ein Neuling in der Assembly-Programmierung und verwende Push-and-Pop-Anweisungen, die den Speicherstapel verwenden. Also, was ist die Standardgröße des Stapels, wie kann ich ihn ändern und wie hoch ist die maximale Größe?
Verknüpfung eines Assembler-Programms: Fehler "undefinierter Verweis auf` printf '"
Ich versuche das zu kompilieren x86-Assemblycode [https://github.com/xorpd/asm_prog_ex_yasm/blob/master/3_basic_yasm/4_exercises/1_read_code/0_strange_calc.asm] unter x64 Debian: BITS 32 %include 'training.s' global main extern exit ...
Einrichten von Interrupts im geschützten Modus (x86)
Wie werden Interrupts für den geschützten Modus eingerichtet? Die [http://wiki.osdev.org/Interrupts] link sagt man sollte: Platz für die Interrupt-Deskriptor-Tabelle schaffen Teilen Sie der CPU mit, wo sich dieser Speicherplatz befindet (siehe ...
Kann nicht springen oder den Kernel aufrufen, der bei 0x8000 geladen ist
Ich versuche ein Betriebssystem zu entwickeln. Das Design ist folgendes: Ich habe einen Bootloader mit 0x7c00 geladen, der die zweite Stufe lädt und mit 0x7e00 dorthin springt. Die zweite Stufe befindet sich ebenfalls im Real-Modus und erledigt ...
SIMD-Anweisungen für den Gleitkomma-Gleichheitsvergleich (mit NaN == NaN)
Welche Befehle würden zum Vergleichen von zwei 128-Bit-Vektoren verwendet, die aus 4 * 32-Bit-Gleitkommawerten bestehen? Gibt es eine Anweisung, die einen NaN-Wert auf beiden Seiten als gleich betrachtet? Wenn nicht, wie groß wäre die ...
Was sind die besten Befehlssequenzen, um Vektorkonstanten im laufenden Betrieb zu generieren?
"Best" bedeutet die wenigsten Anweisungen (oder die wenigsten Uops, wenn Anweisungen zu mehr als einem Uop decodieren). Die Größe des Maschinencodes in Bytes ist ein Leistungsmerkmal für die gleiche Anzahl von Eingaben. Konstante Generierung ...
Wie implementiere ich atoi mit SIMD?
Ich möchte versuchen, eine atoi-Implementierung mithilfe von SIMD-Anweisungen zu schreiben, die in @ enthalten sein sol RapidJSON [http://rapidjson.org/] (eine C ++ - JSON-Lese- / Schreibbibliothek). Derzeit wurden an anderen Stellen einige ...