Ein Zweig ist ein Befehl in einem Computerprogramm, das, wenn es von einem Computer ausgeführt werden, bewirken, dass der Computer die Ausführung eines anderen Befehlssequenz zu beginnen. Zweig kann auch auf den Akt der Beginn der Ausführung eines anderen Befehlsfolge aufgrund der Ausführung eines Verzweigungsbefehls beziehen. Ein Verzweigungsbefehl kann entweder ein unbedingter Verzweigungs werden, was immer zu einer Verzweigung oder ein bedingter Verzweigungs, oder auch nicht führen kann Verzweigung abhängig von bestimmten Bedingungen sein.
Bei der Ausführung eines Programms wird ein Computer abrufen und Befehle ausführen in der Reihenfolge, bis es einen Verzweigungsbefehl begegnet. Wenn der Befehl ein unbedingter Verzweigungs oder es bedingte ist und die Bedingung erfüllt ist, wird der Computer zu verzweigen, wie durch den Verzweigungsbefehl festgelegt. Allerdings, wenn der Verzweigungsbefehl bedingte und die Bedingung nicht erfüllt ist, wird der Computer nicht verzweigen; statt, wird es weiterhin die Ausführung des aktuellen Befehlsfolge, beginnend mit dem, der den bedingten Verzweigungsbefehl folgt Unterricht.
Durchführung
Der Begriff Zweig kann, wenn es um Programme in Hochsprachen sowie Programm in Maschinencode oder Assembler geschrieben werden. In High-Level-Programmiersprachen, Niederlassungen finden in der Regel in Form von bedingten Anweisungen der verschiedenen Formen, die die Befehlssequenz, die ausgeführt werden, wenn die Bedingungen erfüllt sind zu kapseln. Unbedingten Sprungbefehlen wie GOTO werden verwendet, um bedingungslos "springen" zu einem anderen Befehlsfolge.
Maschinenebene Verzweigungsbefehle werden manchmal auch als Sprunganweisungen. Maschinenebene Sprunganweisungen haben typischerweise unbedingte und bedingte Formen wobei letztere genommen oder werden in Abhängigkeit von einer Bedingung nicht getroffen werden. Die truthness dieser Bedingung ist in der Regel ausgewertet und vorübergehend von einem früheren Befehl gespeichert und verwendet werden, wie beispielsweise im Sprung, wenn Überlauf-Flag gesetzt, dann. Diese temporäre Information wird häufig in einem Flag-Register gespeichert, kann aber auch an anderer Stelle angeordnet sein. Es sind auch Maschinen, bei denen der Zustand kann durch die Sprungbefehls selbst überprüft werden, wie beispielsweise Verzweigungs & lt; label & gt; wenn Register X negativ. Wenn eine Verzweigung genommen wird, wird der nächste Befehl ausgeführt, durch das Argument zu dem Sprungbefehl definiert sind; wenn nicht genommen wird, ist der nächste Befehl ausgeführt, der Befehl unmittelbar nach dem Verzweigungsbefehl in dem Speicher, so daß der Ablauf der Steuerung wird nicht geändert.
Je nach Computer-Architektur ist die Assembler-Sprache mnemonic für einen Sprungbefehl in der Regel einige verkürzte Form des Wortes springen oder das Wort Zweig, oft zusammen mit anderen informativen Buchstaben für die Bedingung. Manchmal werden andere Einzelheiten sind auch enthalten, wie zum Beispiel den Bereich der Sprung oder einem speziellen Adressierungsmodus, der verwendet werden sollte, um zu lokalisieren die tatsächliche effektive Offset.
Beispiele
Diese Tabelle zeigt die Maschinenebene Branche / Sprungbefehle in mehreren bekannten Architekturen gefunden:
x86, die PDP-11, VAX, und einige andere, stellen Sie den Übertrag-Flag um zu signalisieren, zu leihen und deaktivieren Sie die Carry-Flag auf keinen Borgsignal. ARM, 6502, der PIC, und einige andere, tun das Gegenteil für die subtraktive Operationen. Diese umgekehrte Funktion des Carry-Flag für bestimmte Anweisungen ist gekennzeichnet durch, das heißt, zu leihen = nicht in einigen Teilen der Tabelle durchführen, aber wenn nicht anders vermerkt, borrow≡carry. Allerdings machen additive Operationen werden auf die gleiche Weise von den meisten Architekturen behandelt.
Kommentare - 0