[{"@context":"http:\/\/schema.org\/","@type":"BlogPosting","@id":"https:\/\/wiki.edu.vn\/wiki12\/2020\/12\/26\/cms-2-wikipedia\/#BlogPosting","mainEntityOfPage":"https:\/\/wiki.edu.vn\/wiki12\/2020\/12\/26\/cms-2-wikipedia\/","headline":"CMS-2 – Wikipedia","name":"CMS-2 – Wikipedia","description":"before-content-x4 CMS-2 ist eine Programmiersprache f\u00fcr eingebettete Systeme, die von der United States Navy verwendet wird.[2] Es war ein fr\u00fcher","datePublished":"2020-12-26","dateModified":"2020-12-26","author":{"@type":"Person","@id":"https:\/\/wiki.edu.vn\/wiki12\/author\/lordneo\/#Person","name":"lordneo","url":"https:\/\/wiki.edu.vn\/wiki12\/author\/lordneo\/","image":{"@type":"ImageObject","@id":"https:\/\/secure.gravatar.com\/avatar\/44a4cee54c4c053e967fe3e7d054edd4?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/44a4cee54c4c053e967fe3e7d054edd4?s=96&d=mm&r=g","height":96,"width":96}},"publisher":{"@type":"Organization","name":"Enzyklop\u00e4die","logo":{"@type":"ImageObject","@id":"https:\/\/wiki.edu.vn\/wiki4\/wp-content\/uploads\/2023\/08\/download.jpg","url":"https:\/\/wiki.edu.vn\/wiki4\/wp-content\/uploads\/2023\/08\/download.jpg","width":600,"height":60}},"image":{"@type":"ImageObject","@id":"https:\/\/upload.wikimedia.org\/wikipedia\/en\/thumb\/e\/e1\/CMS-2_Programming_Language_Example.jpg\/220px-CMS-2_Programming_Language_Example.jpg","url":"https:\/\/upload.wikimedia.org\/wikipedia\/en\/thumb\/e\/e1\/CMS-2_Programming_Language_Example.jpg\/220px-CMS-2_Programming_Language_Example.jpg","height":"144","width":"220"},"url":"https:\/\/wiki.edu.vn\/wiki12\/2020\/12\/26\/cms-2-wikipedia\/","wordCount":3088,"articleBody":" (adsbygoogle = window.adsbygoogle || []).push({});before-content-x4 CMS-2 ist eine Programmiersprache f\u00fcr eingebettete Systeme, die von der United States Navy verwendet wird.[2] Es war ein fr\u00fcher Versuch, eine standardisierte Computerprogrammiersprache auf hoher Ebene zu entwickeln, um die Portabilit\u00e4t und Wiederverwendbarkeit von Code zu verbessern. CMS-2 wurde haupts\u00e4chlich f\u00fcr die taktischen Datensysteme (NTDS) der US Navy entwickelt.[1] CMS-2 wurde Anfang der 1970er Jahre von der RAND Corporation entwickelt und steht f\u00fcr “Compiler Monitor System”. Dem Namen “CMS-2” folgt in der Literatur ein Buchstabe, der den Typ des Zielsystems bezeichnet. Beispielsweise zielt CMS-2M auf 16-Bit-Prozessoren der Navy ab, wie z. B. den AN \/ AYK-14.[2]Table of ContentsGeschichte[edit]Sprachmerkmale[edit]Programmstruktur[edit]Daten deklarative Aussagen[edit]Schalter[edit]Variablen[edit]Aggregate[edit]Dynamische Anweisungen[edit]Anweisungsoperatoren[edit]Spezielle Betreiber[edit]Programmstrukturerkl\u00e4rungen[edit]Hochrangige Eingabe- \/ Ausgabeanweisungen[edit]Compiler Monitor System 2 (CMS-2)[edit]MS-2 Monitor[edit]CMS-2-Compiler[edit]XCMS-2-Compiler[edit]CMS-2 Bibliothekar[edit]CP-642 Objektcode-Lader[edit]Banddienstprogramm[edit]CMS-2 Flowcharter[edit]Siehe auch[edit]Verweise[edit]Externe Links[edit]Geschichte[edit]CMS-2 wurde f\u00fcr FCPCPAC (Fleet Computer Programming Center – Pazifik) in San Diego, CA, entwickelt. Es wurde 1968 von der Computer Sciences Corporation mit Unterst\u00fctzung von Intermetrics implementiert. Die Sprache wurde weiterentwickelt und unterst\u00fctzte schlie\u00dflich eine Reihe von Computern, darunter AN \/ UYK-7 und AN \/ UYK-43 sowie UYK-20 und UYK-44 [3] Computers.[4] Sprachmerkmale[edit]CMS-2 wurde entwickelt, um die Modularisierung von Programmen zu f\u00f6rdern und die unabh\u00e4ngige Kompilierung von Teilen eines Gesamtsystems zu erm\u00f6glichen. Die Sprache ist aussageorientiert. Die Quelle ist frei formuliert und kann zur Vereinfachung der Programmierung angeordnet werden. Zu den Datentypen geh\u00f6ren Festkomma, Gleitkomma, Boolescher Wert, Zeichen und Status. Ein direkter Verweis auf und eine Manipulation von Zeichen- und Bitfolgen ist zul\u00e4ssig. Es kann symbolischer Maschinencode enthalten sein, der als direkter Code bekannt ist.[1]Programmstruktur[edit] Beispiel f\u00fcr ein CMS-2-KompilierungszeitsystemEin CMS-2-Programm besteht aus Anweisungen. Anweisungen bestehen aus Symbolen, die durch Trennzeichen getrennt sind. Die Kategorien von Symbolen umfassen Operatoren, Bezeichner und Konstanten. Die Operatoren sind Sprachprimitive, die vom Compiler f\u00fcr bestimmte Operationen oder Definitionen in einem Programm zugewiesen werden. Bezeichner sind eindeutige Namen, die vom Programmierer Dateneinheiten, Programmelementen und Anweisungsbezeichnungen zugewiesen werden. Konstanten sind bekannte Werte, die numerisch, Hollerith-Zeichenfolgen, Statuswerte oder Boolesche Werte sein k\u00f6nnen.CMS-2-Anweisungen sind frei formuliert und werden durch ein Dollarzeichen abgeschlossen. Ein Anweisungsetikett kann zu Referenzzwecken am Anfang einer Anweisung platziert werden. Ein CMS-2-Quellprogramm besteht aus zwei grundlegenden Arten von Anweisungen. Deklarative Anweisungen stellen dem Compiler grundlegende Steuerinformationen zur Verf\u00fcgung und definieren die Struktur der Daten, die einem bestimmten Programm zugeordnet sind. Dynamische Anweisungen bewirken, dass der Compiler ausf\u00fchrbare Maschinenanweisungen (Objektcode) generiert.Deklarative Anweisungen, die die Daten f\u00fcr ein Programm definieren, werden in Einheiten gruppiert, die als Datenentw\u00fcrfe bezeichnet werden. Datenentw\u00fcrfe bestehen aus pr\u00e4zisen Definitionen f\u00fcr tempor\u00e4re und permanente Datenspeicherbereiche, Eingabebereiche, Ausgabebereiche und spezielle Dateneinheiten. Die dynamischen Anweisungen, die auf Daten einwirken oder Berechnungen durchf\u00fchren, sind in Prozeduren gruppiert. Datenentw\u00fcrfe und -verfahren werden weiter gruppiert, um Systemelemente eines CMS-2-Programms zu bilden. Der Compiler kombiniert Systemelemente zu einem Kompilierungszeitsystem. Ein Kompilierungszeitsystem kann eigenst\u00e4ndig sein oder Teil eines gr\u00f6\u00dferen Programms sein.[1]Daten deklarative Aussagen[edit]Datendeklarative Anweisungen liefern dem Compiler Informationen zu Datenelementdefinitionen. Sie definieren das Format, die Struktur und die Reihenfolge der Datenelemente in einem System zur Kompilierungszeit. Die drei Hauptarten von Daten sind Schalter, Variablen und Aggregate.[1]Schalter[edit]Schalter erm\u00f6glichen die \u00dcbertragung der Programmsteuerung an einen bestimmten Ort in einem System zur Kompilierungszeit. Sie enthalten eine Reihe von Kennungen oder Schaltpunkten, um Programm\u00fcbertragungen und Verzweigungen zu erleichtern. Der Schalter repr\u00e4sentiert eine Programmadresse einer Anweisungsbezeichnung oder eines Prozedurnamens.Variablen[edit]Eine Variable ist ein einzelnes Datenelement. Es kann aus einem Bit, mehreren Bits oder W\u00f6rtern bestehen. In der Variablendefinition kann ein Wert zugewiesen werden. Variablen k\u00f6nnen einen konstanten oder sich \u00e4ndernden Wert enthalten. Zu den Datentypen geh\u00f6ren Ganzzahlen, Fixpunkt, Gleitkomma, Hollerith-Zeichenfolgen, Status oder Boolesche Werte.Aggregate[edit]Tabellen enthalten geordnete S\u00e4tze identisch strukturierter Informationen. Die gemeinsame Dateneinheit in einer Tabelle ist ein Element. Elemente k\u00f6nnen in Felder unterteilt werden, die kleinste Unterteilung einer Tabelle. Zul\u00e4ssige Datentypen in Feldern sind Ganzzahl, Festkomma, Gleitkomma, Hollerith-Zeichenfolge, Status oder Boolescher Wert. Ein Array ist eine Erweiterung des Tabellenkonzepts. Die grundlegende Struktureinheit eines Arrays ist ein Element. Array-Elemente enthalten vom Programmierer definierte Felder.Dynamische Anweisungen[edit]Dynamische Anweisungen geben Verarbeitungsvorg\u00e4nge an und f\u00fchren zur Generierung von ausf\u00fchrbarem Code durch den Compiler. Eine dynamische Anweisung besteht aus einem Operator, gefolgt von einer Liste von Operanden und zus\u00e4tzlichen Operatoren. Ein Operand kann ein einzelner Name, eine Konstante, eine Datenelementreferenz oder ein Ausdruck sein.[1]Anweisungsoperatoren[edit]Die wichtigsten CMS-2-Betreiber sind nachstehend zusammengefasst.OperatorFunktionEINSTELLENF\u00fchren Sie Berechnungen durch oder weisen Sie einen Wert zuTAUSCHENTauschen Sie den Inhalt von zwei Dateneinheiten ausGEHE ZU\u00c4ndern Sie den Programmablauf oder rufen Sie einen Anweisungsschalter aufWENNDr\u00fcckt einen Vergleich oder einen booleschen Ausdruck f\u00fcr die bedingte Ausf\u00fchrung ausVARIIERENRichten Sie eine Programmschleife einFINDENDurchsucht eine Tabelle nach DatenSpezielle Betreiber[edit]Spezielle Operatoren erleichtern Verweise auf Datenstrukturen und Operationen auf diesen.[1]OperatorFunktionBISSCHENVerweisen Sie auf eine Bitfolge in einem DatenelementVERKOHLENVerweist auf eine ZeichenfolgeCORADVerweist auf eine KernadresseAbsErh\u00e4lt den absoluten Wert eines AusdrucksCOMPErg\u00e4nzt einen booleschen AusdruckProgrammstrukturerkl\u00e4rungen[edit]Die dynamischen Anweisungen, die die Verarbeitungsvorg\u00e4nge eines Programms beschreiben, sind in Anweisungsbl\u00f6cken zusammengefasst, die als Prozeduren bezeichnet werden.[1]Begrenzer beginnenTrennzeichen beendenZweckSYSTEMEND-SYSTEMBegrenzt ein KompilierungszeitsystemSYS-DDEND-SYS-DDBegrenzt ein Systemdaten-Design in einem kompilierten SystemSYS-PROCEND-SYS-PROCBegrenzt eine Systemprozedur in einem System zur KompilierungszeitLOC-DDEND-LOC-DDBegrenzt ein lokales Daten-Design in einer SystemprozedurVERFAHRENEND-PROCBegrenzt eine Prozedur in einer SystemprozedurEXEC-PROCEND-PROCBegrenzt eine Task-State-Prozedur in einer Systemprozedur (nur XCMS-2, nur von einer Executive-State-Prozedur aufgerufen)FUNKTIONENDFUNKTIONBegrenzt eine Funktion in einer SystemprozedurSYS-PROC-RENEND-SYS-PROCBegrenzt eine wiedereintretende Systemprozedur in einem System zur Kompilierungszeit (nur XCMS-2)AUTO-DDEND-AUTO-DDBegrenzt den dynamischen Datenbereich in einer Prozedur f\u00fcr ein wiedereintrittsf\u00e4higes System, die jedes Mal zugewiesen werden muss, wenn die Prozedur f\u00fcr ein wiedereintrittsf\u00e4higes System zur Ausf\u00fchrung initiiert wird (nur XCMS-2).KOPFENDKOPFBegrenzt ein Header-Paket in einem System zur KompilierungszeitHochrangige Eingabe- \/ Ausgabeanweisungen[edit]Eingabe- \/ Ausgabeanweisungen erm\u00f6glichen die Kommunikation mit Hardwareger\u00e4ten, w\u00e4hrend sie in einer Nicht-Echtzeitumgebung unter einem Monitorsystem ausgef\u00fchrt werden.[1]OperatorFunktionDATEIDefiniert die Umgebung und andere Informationen f\u00fcr die Eingabe und Ausgabe\u00d6FFNENInitialisiert E \/ A-RoutinenSCHLIESSENDeaktiviert eine Datei und schreibt und markiert das DateiendeEINGANGLeitet eine Eingabeoperation von einem externen Ger\u00e4t in einen DateipufferbereichAUSGABELeitet eine Ausgabeoperation von einem Dateipufferbereich an ein externes Ger\u00e4tFORMATDefiniert die gew\u00fcnschte Konvertierung zwischen externen Datenbl\u00f6cken und internen DatendefinitionenKODIERENLeitet die Umwandlung von Datenelementen in einen gemeinsamen Bereich mit Konvertierung in ein bestimmtes FormatDEKODIERENWeist das Auspacken eines gemeinsamen Bereichs und die \u00dcbertragung an Dateneinheiten an, wie in einer Formatdeklaration angegebenENDDATEIPlatziert eine Dateiendemarkierung auf geeigneten AufzeichnungsmedienPOSSpezieller Bediener zum Positionieren einer MagnetbanddateiL\u00c4NGESpezieller Operator zum Erhalten einer Eingabe- \/ Ausgabedatensatzl\u00e4ngeCompiler Monitor System 2 (CMS-2)[edit]Das Compiler Monitor System 2 (CMS-2) war ein System, das auf dem UNIVAC CP-642B (AN \/ USQ-20) lief. Die Systemsoftware umfasste Monitor, Compiler, Bibliothekar, CP-642 Loader, Banddienstprogramm und Flow Charter.[1]MS-2 Monitor[edit]Ein Stapelverarbeitungsbetriebssystem, das die Ausf\u00fchrung von CMS-2-Komponenten und Benutzerjobs steuert, die auf dem CP-642-Computer ausgef\u00fchrt werden. Es bietet Eingabe \/ Ausgabe, Softwarebibliotheksfunktionen und Debugging-Tools. Jobabrechnung wird ebenfalls bereitgestellt.CMS-2-Compiler[edit]Ein Compiler f\u00fcr die Sprachen CS-1 und CMS-2, der Objektcode f\u00fcr die Computer CP-642, L-304, AN \/ UYK-7, 1830A und 1218\/1219 generiert. In den 1970er Jahren gab es verschiedene Versionen des CMS-2-Compilers, je nachdem, auf welchem \u200b\u200bComputer der Code kompiliert wurde. Einige Quellcodes mussten neu geschrieben werden, um einige Funktionen zu umgehen. Und die verschiedenen Versionen von CMS-2 hatten Probleme mit den Debugging-Tools.XCMS-2-Compiler[edit]Ein erweiterter CMS-2-Compiler, der Sprachfunktionen f\u00fcr den AN \/ UYK-7-Computer hinzuf\u00fcgt. Es wird nur AN \/ UYK-7-Objektcode generiert.CMS-2 Bibliothekar[edit]Ein Dateiverwaltungssystem, das Speicher und Zugriff auf Quell- und Objektcode bietet.CP-642 Objektcode-Lader[edit]Zwei Objektcode-Lader zum Laden von absolutem oder verschiebbarem Objektcode.Banddienstprogramm[edit]Eine Reihe von Dienstprogrammen zum Verwalten von Daten auf Magnetband.CMS-2 Flowcharter[edit]Die Flowcharter-Software verarbeitet Flowcharter-Anweisungen im CMS-2-Quellcode und gibt ein Flussdiagramm an einen Hochgeschwindigkeitsdrucker aus.Siehe auch[edit]Verweise[edit]^ ein b c d e f G h ich j US Navy (1978), Schulungshandbuch f\u00fcr die Grundlagen des Digitalcomputers, NAVEDTRA 10088-B, US Navy^ ein b Neal Ziring (1998-10-19). “CMS-2”. Ziring MicroWeb. Archiviert von das Original am 19.10.1998. Abgerufen 08.07.2014.^ Mark Wilson – pers\u00f6nliche Erfahrung in der Arbeit mit UYK-20 und UYK-44 bei Aegis ORTS^ Unterst\u00fctzungsaktivit\u00e4t f\u00fcr Flottenkampfrichtungssysteme (1986), Referenzhandbuch f\u00fcr CMS-2Y-Programmierer f\u00fcr die Computer AN \/ UYK-7 und AN \/ UYK-43, US NavyExterne Links[edit] (adsbygoogle = window.adsbygoogle || []).push({});after-content-x4"},{"@context":"http:\/\/schema.org\/","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"item":{"@id":"https:\/\/wiki.edu.vn\/wiki12\/#breadcrumbitem","name":"Enzyklop\u00e4die"}},{"@type":"ListItem","position":2,"item":{"@id":"https:\/\/wiki.edu.vn\/wiki12\/2020\/12\/26\/cms-2-wikipedia\/#breadcrumbitem","name":"CMS-2 – Wikipedia"}}]}]