WikiDer > Sprunganweisung
EIN Sprunganweisung ist eine Anweisung in a Programmiersprache dass die Umsetzung von a Computer Programm geht an anderer Stelle weiter. In vielen Programmiersprachen ist ein solcher Befehl GEHE ZU genannt, von der Englischgehe zu ("gehe zu"). Im COBOL und PL/1 als zwei Wörter: GEHE ZU. In Assemblersprachen wird . oft verwendet B (von Ast), J oder JMP (von springen) benutzt. Im BASIC dürfen GEHE ZU nach dem DANN entfallen.
Sprunganweisungen in prozeduralen Programmiersprachen
In den in den 1970er und 1980er Jahren hauptsächlich verwendeten prozeduralen Programmiersprachen (3. Generation) ist die Anweisung het GEHE ZU das Programmierer die Möglichkeit, die Steuerung an einer anderen Stelle im Programm fortzusetzen.
Ein Beispiel in BASIC, eine der älteren Programmiersprachen:
10DRUCKEN"Wie viel ist 7 - 7?"20EINGANGein30WENNein=0DANNGEHE ZU60' oder: WENN A = 0 DANN 6040DRUCKEN"Fehler, versuche es erneut!"50GEHE ZU2060DRUCKEN"Richtig!"70ENDEDas obige Beispiel springt zu einer Zeilennummer, aber die meisten Sprachen können das mit a Etikette werden verwendet. Ein Label besteht normalerweise aus einem Namen gefolgt von einem Doppelpunkt.
In den 1970er Jahren stellte man fest, dass die Sprunganweisung einen schlechten Einfluss auf die Lesbarkeit des Programms hatte, was die Programmpflege erschwerte. Außerdem stellte sich heraus, dass die Anleitung überflüssig war: Jedes Problem konnte auch ohne gelöst werden GEHE ZU benutzen. Stattdessen benutzten sie die Wiederholung mit Aussagen wie ZUM, TUN und WÄHREND.Die Lösungen fanden sich zunehmend in den strukturierte Programmierung. Iterationen und Auswahlstrukturen mit zugehörigen Anweisungen aufgelöst dis GEHE ZU aus den strukturierten Programmen. In Programmierkursen, GEHE ZU nicht gelehrt (obwohl die verwendete Sprache die Aussage noch kannte) und in den meisten neuen Programmiersprachen ist die Aussage GEHE ZU gar nicht mehr erhältlich.
Bekannter Gegner der GEHE ZU-Aussage und Verfechter der strukturierten Programmierung war der niederländische Informatiker Edsger Dijkstraße.[1]
In Assemblersprachen wird zwar noch die Sprunganweisung verwendet, aber diese Sprachen werden fast ausschließlich für kleine Programme auf einer niedrigen Ebene des Betriebssystems verwendet.
Sprunganweisungen in Assembler- oder Maschinensprache
Der Begriff Sprunganweisung bezieht sich in Monteur oder Maschinensprache zu einer Anweisung Das hier Speicheradresse wie ein Streit akzeptiert und verwendet die Speicheradresse zur Laufzeit, um die richtige zu erhalten ZentralprozessorAuffinden von Anweisungen zur Ausführung. In Assembler wird dieses Argument als a . angegeben Etikette was ein variables Wort sein kann. In Maschinensprache wird dieses Etikett von der . übersetzt Monteur zu einem Speicherpfad (z. B. 0xFF45B4D1). Dies ist ein einfaches Beispiel:
Beginn: mov ,0x61 add a1,a2 jmp Beginn
"Begin:" ist ein Tag. "Beginn" bezieht sich auf die Speicheradresse wo sich die nächste Anweisung ("mov a1, 0x61") befindet. Zum Zeitpunkt der Ausführung verschiebt die CPU (Central Processing Unit, CPU) den Wert 0x61 auf a1 (das ist a Adressregister is), dann werden die Inhalte von a1 und a2 addiert und beim Sprungbefehl ("jmp Begin") springt die CPU zurück zur Speicheradresse "Begin" und führt dort die nächste Anweisung aus ("mov a1, 0x61").
Quellen, Anmerkungen und/oder Verweise
|