Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C Quellcode formatieren: <code>Quellcode</code> BASIC Quellcode formatieren: <basic>Quellcode</basic> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! -> I > Hallo Peter > > > Ah, stimmt das kannst Du ja nicht wissen. Wenn man nur 8bit hat, ist die Welt etwas einfacher. > > Du bist ganz schön arrogant. Ich habe in meinem Leben mehr gemacht als mich "nur" mit 8 Bit CPUs zu > beschäftigen. Schaue nur einmal in die C-Control-intern-Sammlung zur CC1 V1.1. Die 1.1er besitzt einen > Rechenstack im 16-Bit-Format. Meine ersten Assemblerkenntnisse habe ich übrigens auf einer 68000er > erworben. Da ist intern alles in 32 Bit ausgelegt. Deshalb existieren auch 16 Register mit einer Breite von > jeweils 32 Bit. Mal ganz davon abgesehen, daß die Atmel-Kontroller, auf denen die CC-Pro basiert, auch > nur 8-Bit-Kontroller sind. Genauso wie die der OM. > > Für die Entwicklung der Open-M-Unit habe ich bereits über einen Rechenstack im 32-Bit-Format > nachgedacht. Beim Longinteger-Format und bei Fest- oder Fließkommazahlen hätte das Vorteile. Die > Nachteile des langsameren Stackhandlings bei 8 und 16 Bit sind gegenüber dem durch die Interpretation > erzeugten Overhead minimal. Und da aus Kompatiblitätsgründen für Berechnungen und Übergaben je > Thread ohnehin nur 7 Stackeinträge zur Verfügung gestellt werden müssen und die Kontroller bis zu 2 KB > RAM haben, ist auch der Speicherplatz kein Hinderungsgrund. Lokale Variablen auf dem Stack und > Rekursion sind bei diesem Stackmodell zwar nicht direkt vorgesehen, können aber durch Pointer realisiert > werden. > > > Wenn man den Stack auch zur Übergabe verwendet, würde man bei 8Bit Parametern immer 24 Bit verschwenden > > Bei einer Parameterübergabe "by value" wird z.B. auf dem PC normalerweise nur soviel Stackspeicher > benutzt, wie unbedingt notwendig ist. Bei "by reference" wird dagegen unabhängig vom Format die Adresse > (ein Pointer) übergeben, die eine Größe von 32 Bit besitzt. > > Dietmar