In Binärsequenzen geschriebene Programme werden als „Maschinensprachenprogramme“ bezeichnet. Dies sind die einzigen Sprachen auf niedriger Ebene, die Computer direkt erkennen und ausführen können. Maschinensprache ist eine Computersprache, die direkt in Binärcodeanweisungen ausgedrückt wird, bei denen es sich um eine Zeichenfolge handelt Code: 64 Nullen und Einsen können in verschiedene Permutationen und Kombinationen umgewandelt und über Drähte in elektrische Signale umgewandelt werden, sodass der Computer verschiedene Operationen ausführen kann.
Die Betriebsumgebung dieses Tutorials: Windows 10-System, DELL G3-Computer.
Ein in Binärsequenzen geschriebenes Programm wird als Maschinensprachenprogramm bezeichnet. Es ist die einzige Low-Level-Sprache, die ein Computer direkt erkennen und ausführen kann.
Maschinensprache ist eine Computersprache, die direkt durch Binärcodeanweisungen ausgedrückt wird. Die Anweisungen sind eine Folge von Codes, die aus 0 und 1 bestehen. Sie haben eine bestimmte Anzahl von Ziffern und sind in mehrere Segmente unterteilt Bedeutungen, wie z. B. Die Wortlänge eines bestimmten Computers beträgt 64 Bit (Bit), das heißt, es gibt 64 Binärzahlen, aus denen eine Anweisung oder andere Informationen bestehen. 64 Nullen und Einsen können in verschiedene Permutationen und Kombinationen umgewandelt und über Drähte in elektrische Signale umgewandelt werden, sodass der Computer verschiedene Operationen ausführen kann.
Maschinensprache bezieht sich auf eine Sammlung von Anweisungen, die von der Computerhardware direkt erkannt werden können. Es handelt sich um die früheste Computersprache. Die Maschinensprache ist dem Hardwaregerät untergeordnet. Verschiedene Computergeräte verfügen über unterschiedliche Maschinensprachen, daher ist Maschinensprache eine maschinenorientierte Sprache.
Die Anweisungen im Computeranweisungssystem sind Codes, die aus zwei Symbolen, „0“ und „1“, bestehen und von der Maschine direkt verstanden und ausgeführt werden können. Sie werden Maschinenanweisungen genannt. Der Satz von Maschinenanweisungen eines Computers stellt die Maschinensprache des Computers dar, dh die Sprache, die der Computer direkt akzeptieren und verstehen kann.
Eine kurze Einführung in die Maschinensprache
Programmiersprache ist eine formale Sprache, die zur Definition von Computerprogrammen verwendet wird und dazu dient, Anweisungen an den Computer zu erteilen. Es gibt viele Computersprachen und jedes Jahr werden viele neue Programmiersprachen erstellt. Je nach Niveau können Programmiersprachen in drei Kategorien eingeteilt werden: Maschinensprache, Assemblersprache und Hochsprache. Maschinensprache besteht aus einer Reihe von Maschinenanweisungen, die direkt von der Maschine ausgeführt werden können. In Maschinensprache geschriebene Programme weisen Probleme auf, die schwer zu lesen und zu merken sind. Die Assemblersprache arbeitet im Wesentlichen direkt auf der Hardware. Aufgrund der Verwendung von Mnemoniken ist sie bequemer zu schreiben und zu lesen als Maschinensprache. In Hochsprachen werden mehrere Assembler-Anweisungen zu prägnanteren Programmieranweisungen zusammengeführt, und gleichzeitig werden einige Aufgaben wie die Stapel- und Registerzuordnungsverwaltung automatisch ausgeführt, was die Programmentwicklung für Programmierer komfortabler macht.
Maschinensprache ist eine Reihe von Maschinenanweisungen, die durch Binärcode dargestellt werden und die ein Computer direkt erkennen und ausführen kann. Dabei handelt es sich um die Betriebsfunktion, die der Computerentwickler dem Computer durch die Hardwarestruktur des Computers verleiht. Maschinensprache zeichnet sich durch Flexibilität, direkte Ausführung und hohe Geschwindigkeit aus. Die Maschinensprachen verschiedener Computertypen sind nicht kompatibel. Ein Programm, das gemäß den Maschinenanweisungen eines Computertyps kompiliert wurde, kann nicht auf einem anderen Computertyp ausgeführt werden.
Eine Anweisung ist eine Anweisung in Maschinensprache. Es handelt sich um eine Reihe sinnvoller Binärcodes. Das Grundformat der Anweisung ist wie folgt: Opcode-Feld und Adresscode-Feld Der Adresscode gibt den Operanden oder die Adresse des Operanden an.
Um Programme in Maschinensprache zu schreiben, müssen sich Programmierer zunächst alle Befehlscodes des verwendeten Computers und die Bedeutung der Codes merken. Bei der manuellen Programmierung müssen Programmierer die Speicherzuweisung sowie die Eingabe und Ausgabe aller Anweisungen und Daten selbst verwalten und sich außerdem den Status der Arbeitseinheit merken, die in jedem Schritt des Programmierprozesses verwendet wird. Das ist eine sehr mühsame Aufgabe. Die zum Schreiben eines Programms benötigte Zeit ist oft Dutzende oder Hundertfache länger als die tatsächliche Laufzeit. Darüber hinaus handelt es sich bei den kompilierten Programmen ausschließlich um Befehlscodes aus Nullen und Einsen, die nicht intuitiv und fehleranfällig sind. Mit Ausnahme von Profis von Computerherstellern lernt die überwiegende Mehrheit der Programmierer keine Maschinensprache mehr.
Befehlsformat
Maschinensprachlicher Befehl ist ein Binärcode, der aus zwei Teilen besteht: Opcode und Operand. Der Opcode gibt die Operation der Anweisung an. Er ist ein Schlüsselwort in der Anweisung und kann nicht voreingestellt werden. Der Operand stellt den Operanden der Anweisung dar. [2] Das Befehlsformat eines Computers steht in engem Zusammenhang mit der Wortlänge, der Speicherkapazität und der Befehlsfunktion der Maschine. Im Hinblick auf die Vereinfachung des Programmdesigns, die Erhöhung der Parallelität grundlegender Operationen und die Verbesserung der Befehlsfunktionalität sollten Anweisungen eine Vielzahl von Informationen enthalten. Da jedoch in einigen Anweisungen ein Teil der Informationen möglicherweise nutzlos ist, wird dadurch der von der Anweisung belegte Speicherplatz verschwendet und die Anzahl der Speicherzugriffe erhöht, was sich tatsächlich auf die Geschwindigkeit auswirken kann. Wie gestaltet man daher das Befehlsformat vernünftig und wissenschaftlich, sodass der Befehl nicht nur genügend Informationen liefern kann, sondern auch seine Länge so weit wie möglich an die Wortlänge der Maschine anpassen kann, um Speicherplatz zu sparen und die Wertzeit zu verkürzen? und die Leistung der Maschine verbessern. Dies ist ein wichtiges Thema bei der Gestaltung von Befehlsformaten.
Computer verarbeiten verschiedene Daten, indem sie Anweisungen ausführen. Um die Datenquelle, das Ziel der Operationsergebnisse und die durchgeführte Operation anzugeben, muss eine Anweisung die folgenden Informationen enthalten:
(1) Opcode. Es legt die Art und Funktion der Operation fest. Ein Computer kann Dutzende bis Hunderte von Anweisungen haben, jede Anweisung hat einen entsprechenden Operationscode und der Computer führt verschiedene Operationen durch, indem er den Operationscode erkennt.
(2) Die Adresse des Operanden. Über diese Adresse kann die CPU die benötigten Operanden erhalten.
(3) Speicheradresse des Operationsergebnisses. Das Ergebnis der Verarbeitung des Operanden wird zur Wiederverwendung an dieser Adresse gespeichert.
(4) Die Adresse der nächsten Anweisung. Beim Ausführen eines Programms werden die meisten Anweisungen der Reihe nach aus dem Hauptspeicher abgerufen und ausgeführt. Nur wenn eine Übertragungsanweisung auftritt, ändert sich die Ausführungsreihenfolge des Programms. Um die Länge der Anweisung zu komprimieren, kann ein Programmzähler (ProgramCounter, PC) zur Speicherung der Anweisungsadresse verwendet werden. Jedes Mal, wenn ein Befehl ausgeführt wird, ist die Befehlsadresse des PCs automatisch +1 (vorausgesetzt, der Befehl belegt nur eine Hauptspeichereinheit) und gibt die Adresse des nächsten auszuführenden Befehls an. Wenn ein Übertragungsbefehl auftritt, wird die Übertragungsadresse verwendet, um den Inhalt des PCs zu ändern. Aufgrund der Verwendung von PC muss die Adresse der nächsten auszuführenden Anweisung nicht explizit in der Anweisung angegeben werden.
Eine Anweisung enthält tatsächlich zwei Arten von Informationen, nämlich den Betriebscode und den Adresscode. Der Operationscode (OperationCode, OP) wird verwendet, um die von der Anweisung auszuführende Operation darzustellen (z. B. Addition, Subtraktion, Multiplikation, Division, Datenübertragung usw.). Seine Länge hängt von der Anzahl der Anweisungen im Anweisungssystem ab . Der Adresscode wird verwendet, um den Operanden des Befehls zu beschreiben. Er gibt entweder direkt den Operanden an oder gibt die Speicheradresse oder Registeradresse des Operanden an (d. h. den Registernamen).
Die Anweisung besteht aus zwei Teilen: dem Opcode-Feld und dem Adressfeld. Entsprechend der Anzahl der im Adressfeld beteiligten Adressen lauten die gängigen Befehlsformate wie folgt.
Anweisung mit drei Adressen: A1 und A2 im allgemeinen Adressfeld bestimmen die erste bzw. zweite Operandenadresse und A3 bestimmt die Ergebnisadresse. Die Adresse des nächsten Befehls wird normalerweise sequentiell vom Programmzähler angegeben.
Anweisung mit zwei Adressen: A1 im Adressfeld bestimmt die erste Operandenadresse und A2 bestimmt gleichzeitig die zweite Operandenadresse und die Ergebnisadresse.
Einzeladressenanweisung: A im Adressfeld bestimmt die Adresse des ersten Operanden. Die Verwendung eines bestimmten Registers zum Speichern des zweiten Operanden und des Operationsergebnisses wurde korrigiert. Ihre Adressen sind daher implizit in der Anleitung angegeben.
Nulladressenanweisung: In einem Stapelcomputer werden die Operanden im Allgemeinen in den beiden Einheiten oben auf dem Push-Down-Stack gespeichert und die Ergebnisse werden oben auf dem Stapel platziert. Die Adressen sind also implizit Die meisten Anweisungen haben nur Opcodes, aber keine Adressdomäne.
Anweisungen für variable Adressnummern: Die Anzahl der im Adressfeld beteiligten Adressen ändert sich mit der Operationsdefinition. Beispielsweise kann die Anzahl der Adressen in den Anweisungen einiger Computer zwischen 0 und 6 liegen.
Weitere Informationen zu diesem Thema finden Sie in der Rubrik „FAQ“!
Das obige ist der detaillierte Inhalt vonWie heißt ein in binärer Reihenfolge geschriebenes Programm?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!