<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=CBASIC</id>
	<title>CBASIC - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=CBASIC"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=CBASIC&amp;action=history"/>
	<updated>2026-05-27T08:19:36Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=CBASIC&amp;diff=2793528&amp;oldid=prev</id>
		<title>imported&gt;Valeee04: Änderungen von Rauchverbotignorierer (Diskussion) auf die letzte Version von Aka zurückgesetzt</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=CBASIC&amp;diff=2793528&amp;oldid=prev"/>
		<updated>2026-04-14T12:13:36Z</updated>

		<summary type="html">&lt;p&gt;Änderungen von &lt;a href=&quot;/index.php/Spezial:Beitr%C3%A4ge/Rauchverbotignorierer&quot; title=&quot;Spezial:Beiträge/Rauchverbotignorierer&quot;&gt;Rauchverbotignorierer&lt;/a&gt; (&lt;a href=&quot;/index.php?title=Benutzer_Diskussion:Rauchverbotignorierer&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Benutzer Diskussion:Rauchverbotignorierer (Seite nicht vorhanden)&quot;&gt;Diskussion&lt;/a&gt;) auf die letzte Version von &lt;a href=&quot;/index.php?title=Benutzer:Aka&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Benutzer:Aka (Seite nicht vorhanden)&quot;&gt;Aka&lt;/a&gt; zurückgesetzt&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Datei:Cbasic.svg|mini|Ablauf von Compiler bzw. Interpreter]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;CBASIC&amp;#039;&amp;#039;&amp;#039; ist eine [[Compiler]]-Version der [[Programmiersprache]] [[BASIC]]. Sie wurde von Gordon Eubanks in den Jahren 1976 und 1977 für das [[Betriebssystem]] [[CP/M]] geschrieben. Es war eine Verbesserung von BASIC-E, das er als Master-Arbeit entwickelt hatte.&lt;br /&gt;
&lt;br /&gt;
== Geschichte ==&lt;br /&gt;
Eubanks entwickelte BASIC-E in der Programmiersprache [[PL/M]] an der staatlichen [[Naval Postgraduate School]] in [[Monterey (Kalifornien)|Monterey]], Kalifornien. Da es somit auf öffentliche Kosten entstanden war, galt es nach amerikanischem Recht als „[[Gemeinfreiheit#Public Domain|public domain]]“ und konnte nicht kommerziell vertrieben werden. Daher programmierte Eubanks in seiner Freizeit, während er noch Marine-Offizier war, das verbesserte CBASIC als kommerzielles Produkt seiner Firma Compiler Systems, zunächst zur Verwendung auf dem [[IMSAI 8080]] Computer. Es war aber auch auf anderen CP/M-Systemen lauffähig. Außer der Version für CP/M-80, CBASIC/80, entstand 1981 auch eine Version für CP/M-86, CBASIC/86. 1981 wurde Compiler Systems einschließlich CBASIC von [[Digital Research]] übernommen. Der kommerzielle Erfolg von CBASIC versiegte relativ schnell, da sich andere Entwicklungswerkzeuge am Markt etablierten.&lt;br /&gt;
&lt;br /&gt;
== Eigenschaften ==&lt;br /&gt;
CBASIC erforderte außer für numerische Sprungmarken keine Zeilennummern und erlaubte nicht nur die Nutzung von [[Unterprogramm|Subroutine]]n mit dem BASIC-Befehl GOSUB, sondern auch die Verwendung von selbst definierten Funktionen. Ein weiterer Vorteil war die Verwendung von 14-stelligen [[Reelle Zahl|reellen Zahlen]].&lt;br /&gt;
&lt;br /&gt;
Anfänglich wurde CBASIC – wie BASIC-E – in einen Zwischencode ([[p-Code]]) kompiliert, der dann von einem Laufzeitprogramm ausgeführt wurde. Später erzeugte der Compiler im ersten Schritt einen Zwischencode (REL-[[Objektcode]]), aus dem in einem weiteren Schritt mit dem [[Linker (Computerprogramm)|Linker]] das ausführbare Programm erstellt wurde. Auf diese Weise war es möglich, Programmteile in einer anderen Programmiersprache, beispielsweise maschinennahe Befehle in [[Assemblersprache|Assembler]], zu schreiben und im Link-Vorgang in das lauffähige Programm einzubinden.&lt;br /&gt;
&lt;br /&gt;
== Beispiel-Programm ==&lt;br /&gt;
Das [[Sieb des Eratosthenes]] beispielsweise sieht als CBASIC-Programm etwa so aus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;basic&amp;quot;&amp;gt;&lt;br /&gt;
integer limit, count, prime, i, k&lt;br /&gt;
limit = 1000&lt;br /&gt;
dim flag%(limit)&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;*** ERATO in CBASIC / CB80 ***&amp;quot;&lt;br /&gt;
print &amp;quot; --- Start ---&amp;quot;&lt;br /&gt;
count = 0&lt;br /&gt;
for i = 0 to limit :flag%(i) = 1 :next&lt;br /&gt;
for i = 0 to limit&lt;br /&gt;
    if flag%(i) = 1 then \&lt;br /&gt;
        prime = i + i + 3 :\&lt;br /&gt;
        count = count + 1 :\&lt;br /&gt;
        k = i + prime :\&lt;br /&gt;
        while k &amp;lt;= limit :\&lt;br /&gt;
            flag%(k)=0 :\&lt;br /&gt;
            k = k + prime :\&lt;br /&gt;
        wend&lt;br /&gt;
next&lt;br /&gt;
print count;&amp;quot;PRIMZAHLEN errechnet&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Quellen/Weblinks ==&lt;br /&gt;
* [http://www.cwhonors.org/archives/histories/Eubanks.pdf cwhonors.org] Gordon Eubanks oral history, Transcript eines Video-Interviews von Computer World, November 2000&lt;br /&gt;
* [http://www.cpm.z80.de/manuals/cbasic-m.pdf cpm.z80.de] CBASIC 2 Reference Manual, November 1981&lt;br /&gt;
* [http://www.vannattabros.com/history3.html vannattabros.com] Historic Computer Languages, CBASIC&lt;br /&gt;
* [http://www.dvorak.org/blog/whatever-happened-to-cbasic/ dvorak.org] Whatever Happened to CBASIC?&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:BASIC]]&lt;br /&gt;
[[Kategorie:CP/M-Software]]&lt;br /&gt;
[[Kategorie:DOS-Software]]&lt;br /&gt;
[[Kategorie:Historische Software]]&lt;br /&gt;
[[Kategorie:Abkürzung]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Valeee04</name></author>
	</entry>
</feed>