Low-Level-Programmiersprache zum Senden von Anweisungen (Maschinencode) direkt an einen Mikroprozessor. Verwenden Sie zum Zusammenbauen von Hardware stattdessen [Computer-Building].
Unter Linux /proc/cpuinfokönnen Sie auf einfache Weise alle CPU-Flags des Computers überprüfen. Wenn ein Programm eine Obermenge des Befehlssatzes einer Maschine benötigt, können Sie dies am einfachsten feststellen, indem Sie es ausführen und prüfen, ob es ein SIGILLSignal auslöst. Aber in meinem Fall unterstützen alle meine Prozessoren mindestens SSE4.1 und …
Also habe ich kürzlich herausgefunden, dass es einen HLTOpcode zum Anhalten der CPU gibt. Cool, mal sehen was passiert! user@box:~$ cat > test.c int main(void) { __asm__("HLT"); return 0; } user@box:~$ gcc -o test test.c user@box:~$ ./test Segmentation fault (core dumped) user@box:~$ Duh! Wie langweilig. Es stellt sich heraus, dass …
Ich suche nach einer Tabelle oder ähnlichem, die mir helfen könnte, die Effizienz des Assembler-Codes zu berechnen. Wie ich weiß, benötigt die Bitverschiebung 1 CPU-Takt, aber ich schaue wirklich, wie viel Addition (Subtraktion sollte gleich sein), Multiplikation und wie man vermutlich die Teilungszeit berechnet, wenn ich Werte kenne, die sich …
Soweit ich weiß, besteht jedes Programm aus einem Paket von Prozessoranweisungen mit einigen spezifischen Datenvariablen (float, int, char ...), um an den Prozessorregistern zu arbeiten . Das erste, worüber ich (vor langer Zeit) nachgedacht habe, ist, dass, wenn Sie wissen, dass der ASCII-Wert von %¨#$¨#(nur ein zufälliges Beispiel) als die …
Die Anweisung cmpxchg16b für den atomaren 128-Bit-Speicheraustausch wird auf alten Versionen des x64-Prozessors nicht unterstützt, scheint jedoch seit einigen Jahren von neueren Versionen des Prozessors unterstützt zu werden. Wie wahrscheinlich ist es, dass ich auf einen 64-Bit-Computer mit einem alten Prozessor stoße, dem diese Anweisung fehlt?
Ich habe eine Diskette mit einem unbekannten FS- (FileSystem). Ich möchte eine Kopie davon erstellen, kann dies aber nicht, da Windows und Linux nicht in der Lage zu sein scheinen, davon zu lesen. Ich habe viele der beliebtesten Apps ausprobiert, um Bilddateien zu erstellen (z. B. isomer, winimage, ...), aber …
Ich habe versucht, einen Bootloader in der Assemblersprache auf ein USB-Laufwerk zu schreiben, um ihn auf einem anderen Computer zu testen. Der Bootloader sollte mit Intel-Prozessoren funktionieren. Der Computer, auf dem ich es teste (Windows 7 mit Intel Celeron und 2 GB RAM), sollte es ausführen. Es gibt sogar eine …
Per A. Nebels Anweisungstabellen hat eine Ivy Bridge eine Latenz von 3 Zyklen für einen MOV-Befehl. Das Folgende benötigt 3 Zyklen, um RAX in die Adresse in RCX zu verschieben: mov [rcx], rax Meine Frage ist, bedeutet dies, dass RAX, das gelesen wird, nicht für die nächsten 2 Uhren geändert …
Ich habe einen Bootloader geschrieben und muss ihn auf ein USB-Laufwerk schreiben. Da ich unter Windows arbeite, muss mein Bootloader Dateisysteme wie FAT32 und FAT16 usw. unterstützen. Ich habe BPB verwendet ( BIOS Parameter Block ) zu diesem Zweck. Mir ist bekannt, dass ein USB-Laufwerk aus Sektoren besteht. Aber hat …
Ich verwende Windows 8.1, 64-Bit-Version, und ich habe ein 16-Bit-Assembler-Programm, das ich mit DosBox ausführen möchte. Das Programm scheint keine Ausgabedateien zu erzeugen, obwohl es ordnungsgemäß mit gültigen Parametern aufgerufen wurde. Was könnte das Problem sein?
Es tut mir leid, wenn dies dumme Fragen sind oder sich nicht auf diese Website beziehen. Ich weiß nicht wirklich, wo ich das sonst fragen könnte. Okay, zunächst einmal verstehe ich nicht wirklich, wie Befehlssätze auf Mikroprozessoren funktionieren. Werden sie durch eine Assemblersprache implementiert? Verwendet Intel die gleichen Befehlssätze für …
Jedes USB-Laufwerk verfügt über einen Master-Boot-Record. MBR enthält Partitionstabelle. Auf einer normalen Festplatte kann der MBR 4 Partitionen haben und der MBR enthält Informationen zu den Partitionen. Zu USB kommt nur eine Partition. Was werden also die restlichen 3 Partitionen sein? Ich meine, BIOS 64 Bytes in MBR ist für …
Wir haben 250500 * 250500 = 62.570.250.000. Wie können wir dies mit niedrig und hoch darstellen? Ich weiß, dass die größte Zahl, die in 32 Bit dargestellt werden kann, 4.294.967.295 ist (2 ^ 32 - 1).
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.