Robotrontechnik-Forum

Registrieren || Einloggen || Hilfe/FAQ || Suche || Mitglieder || Home || Statistik || Kalender || Admins Willkommen Gast! RSS

Robotrontechnik-Forum » Technische Diskussionen » UDOS C-Compiler » Themenansicht

Autor Thread - Seiten: -1-
000
28.06.2025, 22:54 Uhr
Early8Bitz

Avatar von Early8Bitz

Ich lehne mich jetzt mal aus dem Fenster und halse mir für die nächsten Wochen etwas Arbeit auf, um Wort zu halten.

2025 tauchten in einem Diskettenkonvolut drei UDOS Disketten mit einem C-Compiler für UDOS auf.
RT Beitrag https://www.robotrontechnik.de/html/forum/thwb/showtopic.php?threadid=22806 von alberich
Ich habe mich intensiv mit dem Compiler beschäftigt und einiges damit programmiert und will hier in loser Folge meine Erkenntnisse zu Fehlern, Fallen und meinen Korrekturen dazu mitteilen.

Heute: Bestandsaufnahme

Die drei Disketten sind im Diskettenformat 80 Spuren, 2 Köpfe, 16 Sektoren pro Kopf und Seite, Sektorlänge 256 Byte (640kB pro Diskette).
Dieses Format wird von UDOS 5 bzw. P8000 UDOS verarbeitet (Treiber $NDOS oder $DDOS).

Die Disketten (im weiteren dann immer mit Kurzform D1, D2 und D3 referenziert) identifizieren sich wie folgt:

Quellcode:

D1   Label: MUTTERSYSTEM
D2   Label: CC ZUR NACHNUTZUNG
D3   Label: C - Programme


D1 ist zugleich eine UDOS 1715 Systemdiskette mit den gängigen UDOS Dienstprogrammen.

Hier erstmal die C relevanten Dateien auf den jeweiligen Disketten

Quellcode:

Dateiname     D1   D2   D3   Bemerkung
=====================================================================================
Binaries:
CC            X    X         UDOS-C-Compiler V 8.11 Hauptprogramm
CC1           X    X         C-Compiler Overlay Pass 1
CC2           X    X    X!   C-Compiler Overlay Pass 2+3
LL            X              Library Link Utility V 8.9
OML           X              Object Module Librarian V 8.9
CCF                          Gleitkommamodul für Direktausführung (fehlt!)

Object Files:
C.INT.OBJ          X         Interger Arithmetik und Basisfunktionen
C.STR.OBJ          X         Stringfunktionen
C.IO.OB            X         C- und UDOS-spezifische I/O-Funktionen
C.FLOAT4.OBJ  X    X         4 Byte Floating Point Artihmetik
C.FLOAT3.OBJ  X    X         3 Byte Floating Point Artihmetik
TERM.OBJ      X              Vermutlich PC1715 Bildschirmfunktionen

Libraries:
libc.a        X

Header Files:
assert.h      X    X
attr.h        X    X
errno.h       X    X    X!
math.h        X    X         Headerfile für 4 Byte Floating Point Artihmetik
math3.h       X    X         Headerfile für 3 Byte Floating Point Artihmetik
stdio.h       X    X    X!
stdlib.h      X    X
tinit.h       X              Headerfile für gerätespezifische Bildschirm und Tastatursteuerung

Sonstige Dateien:
CLINK         X    X         Commandfile zum Linken gegen die libc
UDOSC.B            X         Dokumentation V 8.10

Demoprogramme (C-Source):
SAMP[1..5].C       X
TASTENTEST.C       X
diverse                 X
CC2 Sources             X!


CC, CC1 und CC2 sind auf den Disketten D1 und D2 binär identisch.
Das Hauptprogramm CC beinhaltet die Laufzeitumgebung ab Ladeadresse 0xC000, die auch von den Overlays CC1 und CC2 referenziert wird.
Die binär identische Laufzeitumgebung erhält man, wenn man die C.IO.OBJ, C.INT.OBJ und C.STR.OBJ (in dieser Reihenfolge) auf Adresse 0xC000 linkt.

Auf Diskette D3 sind mehrere Quellprogrammmodule für das Overlay CC2 zu finden. Anhand eines Commandfiles zum Linken von CC2 sieht man, dass
die Overlays gegen die drei Objektfiles der Laufzeitumgebung gelinkt werden. Allerdings ist das Binary von CC2 auf D3 nicht identisch mit
CC2 von den Disketten D1 und D2. Stichproben ergaben, dass Funktionsaufrufe, die CC2 zum Laufzeitpart in CC tätigt, bei der CC2 Version von Diskette D3
nicht zu den richtigen Adressen führen. CC2 von D3 ist daher nicht fähig, mit CC und CC1 aus D1 und D2 zusammen zu laufen.

Versucht man, auf D3 CC2 mit dem vorhandenen drei Objektfiles der Laufzeitumgebung (von Diskette D2) zu linken, meckert der Linker sowohl
über doppelt definierte GLOBALS als auch nicht nicht aufgelöste EXTERNALS.
Die beiden Headerfiles stdio.h und errno.h auf D3 unterscheiden sich auch von denen auf D1 und D2.
Es sind in errno.h weniger Fehlercodes definiert und der in der stdio.h ist der Datentyp long als int definiert, was in der Kompilerversion auf D1/D2 und den Laufzeitmodulen aber definitv getrennt behandelt wird.
int = 16bit, long = 32bit
Es ist daher anzunehmen, dass der CC2 Quellcode auf D3 aus einer anderen, wahrscheinlich älteren Versionsschiene stammt.

C.FLOAT3.OBJ und C.FLOAT4.OBJ unterscheiden sich auf D1 und D2 während die zugehörigen Headerfiles math3.h und math.h auf beiden Disketten identisch sind. Die Analyse dazu steht auf der ToDo Liste

Es fehlt eine Datei CCF, das ist ein gelinktes FloatingPoint Modul, welches von CC aufgerufen wird, wenn man beim Kompilieren eines Anwenderprogramms die direkte Ausführung wählt (Kompileroption -R (Run)) und das Programm Gleitkommaarithmetik benutzt.

Man findet in dem ganzen Dateisalat keinerlei Hinweise auf einen Entwickler, weder als Personenname noch eine Firmenbezeichnung.
Allerdings benutzt der ganze Compiler weder selbst, in der Laufzeitumgebung noch in den damit erstellten Programmen den Alternativregistersatz oder die Indexregister.
Ausnahme: UDOS spezifische I/O-Funktionen in der Laufzeitumgebung verwenden IY für den I/O-Vector und IX als Index für das Feld mit den Dateieigenschaften, welches beim open() vom Dateidescriptor eingelesen wird.
Ich gehe daher davon aus, das dieser Compiler eine Vorgeschichte in der i8080 Welt hat (ob CP/M oder was proprietäres lässt sich nicht erkennen) und auf UDOS portiert wurde.

Wer anhand der heutigen oder den folgenden Beschreibungen einen Wiedererkennungseffekt verspürt, um welchen ursprünglichen C-Compiler es sich handeln könnte, der hebe die Hand.
Ebenso bin ich an weiteren Disketten(-images) interessiert, wenn darauf etwas zu finden ist, was mit dem C-Compiler in Zusammenhang stehen könnte.
--
Gruß
Ralf

Ist ein alter Schaltkreis ein Schaltgreis?

Dieser Beitrag wurde am 28.06.2025 um 22:58 Uhr von Early8Bitz editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
001
29.06.2025, 10:45 Uhr
jute-tom



Da ich auch seit einiger Zeit Compiler programmiere, wollte ich fragen, ob die Quellen irgendwo zugänglich sind?
--
Viele Grüße,
Thomas
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
002
29.06.2025, 11:09 Uhr
kaiOr

Avatar von kaiOr

Hallo, nach "C" sucht es sich schlecht in Disketten-Abbildern.

rfe 9/85 S.548


Gruß,
Kai
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
003
29.06.2025, 11:38 Uhr
ralle



maleuma könnte dazu was beisteuern. Zu mindestens gibt es einen Port nach MicroDOS. Und damit zu CP/M 2.2

Ich habe aber spasseshalber mal die Ente gefragt:
http://www.cpm.z80.de/develop.htm
http://www.z80.eu/c-compiler.html
http://www.cpm.z80.de/small_c.html
https://8bitlabs.ca/Posts/2023/06/15/hi-tech-c-compiler

Das HiTech-C dürfte vermutlich die wahrscheinlichste Quelle für diesen Port sein.
--
Gruß Ralle

Wenn Sie dazu neigen, Bedienungsanleitungen zusammen mit dem Verpackungsmaterial wegzuwerfen, sehen Sie bitte von einem derart drastischen Schritt ab!...
... Nachdem Sie das Gerät eine Weile ausprobiert haben, machen Sie es sich am besten mit dieser Anleitung und ihrem Lieblingsgetränk ein oder zwei Stunden lang in Ihrem Sessel bequem. Dieser Zeitaufwand wird Sie dann später belohnen...

aus KENWOOD-Bedienungsanleitung TM-D700
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
004
29.06.2025, 12:24 Uhr
Early8Bitz

Avatar von Early8Bitz

Danke für die Hinweise. Es gibt aber im Code oder den Hilfsdateien keine Hinweise auf die TH Karl-Marx-Stadt oder eine andere Institution. Wollte der Entwickler anonym bleiben?

HiTech-C spricht ANSI-C. Der UDOS C-Compiler kommt nur mit K&R Syntax zurecht.

Quellcode:

int func(char c, int i)
{
....
}


ANSI like will er nicht.

Quellcode:

int func(c, i)
char  c;
int   i;
{
...
}


Funzt.
--
Gruß
Ralf

Ist ein alter Schaltkreis ein Schaltgreis?

Dieser Beitrag wurde am 29.06.2025 um 12:25 Uhr von Early8Bitz editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
005
29.06.2025, 15:59 Uhr
ralle



Bitte das ich dir helfen konnte. Hast du auch die Mikroprozessortechnik? Also alle Jahrgänge?
--
Gruß Ralle

Wenn Sie dazu neigen, Bedienungsanleitungen zusammen mit dem Verpackungsmaterial wegzuwerfen, sehen Sie bitte von einem derart drastischen Schritt ab!...
... Nachdem Sie das Gerät eine Weile ausprobiert haben, machen Sie es sich am besten mit dieser Anleitung und ihrem Lieblingsgetränk ein oder zwei Stunden lang in Ihrem Sessel bequem. Dieser Zeitaufwand wird Sie dann später belohnen...

aus KENWOOD-Bedienungsanleitung TM-D700
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
006
29.06.2025, 16:17 Uhr
Early8Bitz

Avatar von Early8Bitz


Zitat:
ralle schrieb
Bitte das ich dir helfen konnte. Hast du auch die Mikroprozessortechnik? Also alle Jahrgänge?


Von den Zeitschriften habe ich nur wenige Exemplare.

Die Linksammlung in <003> zu Z80 C-Compilern kenne ich. Das Problem ist, man müsste einen nach dem anderern runterladen und sich anschauen, ob bzgl. Programmstruktur, Features, Aufrufkonventionen etc. einer dabei ist, der als Vorfahr des UDOS C-Compilers in Frage kommt.
Das muss man sich in seiner Restlebenszeit nicht antun.

Daher die Hoffnung auf einen Zufallsfund aus der Masse, dass einer ein konkretes "Vorbild" auf Grund seiner früheren Erfahrungen wieder erkennt.
--
Gruß
Ralf

Ist ein alter Schaltkreis ein Schaltgreis?
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
007
29.06.2025, 16:41 Uhr
ralle



Frag ambrosius. Die Heftreihe gibt es digital.
--
Gruß Ralle

Wenn Sie dazu neigen, Bedienungsanleitungen zusammen mit dem Verpackungsmaterial wegzuwerfen, sehen Sie bitte von einem derart drastischen Schritt ab!...
... Nachdem Sie das Gerät eine Weile ausprobiert haben, machen Sie es sich am besten mit dieser Anleitung und ihrem Lieblingsgetränk ein oder zwei Stunden lang in Ihrem Sessel bequem. Dieser Zeitaufwand wird Sie dann später belohnen...

aus KENWOOD-Bedienungsanleitung TM-D700
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
008
29.06.2025, 17:04 Uhr
Early8Bitz

Avatar von Early8Bitz


Zitat:
ralle schrieb
Frag ambrosius. Die Heftreihe gibt es digital.


Gabs da einen Artikel drin zu genau diesem C-Compiler? Wenn ja, weißt Du/weiß wer, in welchem Heft? Gezielte Suche geht schneller als ganze Jahrgänge sichten.

Ich will ja nicht C lernen, das kann ich schon, sondern diesen Compiler ordentlich benutzen.
Erstens ist er nicht fehlerfrei, wie ich bei meinen Tests feststellen musste (ich berichte später darüber),
zweites stimmt die beiligende Beschreibung nicht vollständig mit dem Verhalten des Compilers überein
und drittens weiß ich ja noch nicht einmal, ob das, was auf den zufällig gefundenen Disketten drauf ist, wirklich vollständig und konsistent ist. Also vollständig nicht, hatte ja schon eine fehlende Datei identifiziert; und konsistent auch nicht, verschiedene Dateiversionen der Gleitkommabibliotheken.
--
Gruß
Ralf

Ist ein alter Schaltkreis ein Schaltgreis?
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
009
29.06.2025, 23:59 Uhr
Bert



Diese 3-Byte-Float-Bibliothek fällt mir hier zum ersten Mal auf.
Kannst Du die Dateien irgendwie zur Verfügung stellen?
--
Viele Grüße,
Bert
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
010
30.06.2025, 09:05 Uhr
ralle



Naja, als Vergleich des Dialekt sollte die MP reichen. Der Rest ist durchwälzen auf sonstige Veröffentlichungen. Zumal es nur 4 Jahrgänge gibt, die interessant sind.
--
Gruß Ralle

Wenn Sie dazu neigen, Bedienungsanleitungen zusammen mit dem Verpackungsmaterial wegzuwerfen, sehen Sie bitte von einem derart drastischen Schritt ab!...
... Nachdem Sie das Gerät eine Weile ausprobiert haben, machen Sie es sich am besten mit dieser Anleitung und ihrem Lieblingsgetränk ein oder zwei Stunden lang in Ihrem Sessel bequem. Dieser Zeitaufwand wird Sie dann später belohnen...

aus KENWOOD-Bedienungsanleitung TM-D700
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
011
30.06.2025, 11:28 Uhr
Dresdenboy




Zitat:
Bert schrieb
Diese 3-Byte-Float-Bibliothek fällt mir hier zum ersten Mal auf.
Kannst Du die Dateien irgendwie zur Verfügung stellen?


Das fand ich auch und schließe mich gern an. Gerade für 8-bit-Systeme könnte das ein guter Kompromiss sein, v.a. die Systeme mit Z80, die auch ein paar 16-Bit-Operationen können, was hier vllt. die Mantissengröße ist.
--
___________________________________
Produktionen im Rahmen der "The Computer Art Community" (Demoszene): https://demozoo.org/sceners/64936/, YT-Kanal: https://www.youtube.com/@4lpha0ne/videos
Programmierung seit '86 in BASIC: KC85/3, C64, A1200, PC | ASM: LC-80, C64, KC87, A1200, NeoGeo, PC, Mega 65, µC | Turbo Pascal: BIC, PC | C: RS/6000, Alpha, PC, µC | C++, Java, Javascript, Rust, Lua, Perl, PHP u.a. auf PC
HW: LC-80, BIC A5105 komplett, KC87, KC85/2-4, KCC, C64s, C16, Plus/4s, A500s, A1200, Mega 65, ESP32s, RasPis, PCs, Laptops, MR 610, ...
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
012
30.06.2025, 17:32 Uhr
Early8Bitz

Avatar von Early8Bitz


Zitat:
Bert schrieb
Diese 3-Byte-Float-Bibliothek fällt mir hier zum ersten Mal auf.
Kannst Du die Dateien irgendwie zur Verfügung stellen?


Hallo Bert, hallo Dresdenboy,

Irgendwie geht bestimmt.

Die Floatingpointmodule sind als UDOS Objekt-Files auf den Disketten.
Jetzt muss ich fragen, was Ihr braucht bzw. verarbeiten könnt.

Variante 1:
Eine UDOS Objektdatei als isolierte Datei alleine ist offline nicht besonders gut nutzbar.
Die Dateien einzeln zu schicken ist daher eher unproduktiv.

Variante 2:
Ihr habt einen UDOS-Rechner.
Dann schicke ich Euch die UDOS-Disketten mit dem ganzen C-Geraffel einfach als Image.
Ihr macht richtige Disketten draus und macht dann in Eurem UDOS Rechner damit, was ihr wollt.

Variante 3:
Ihr habt gar kein UDOS und wollt die FP-Funktionen für allgemeine Zwecke begutachten.
Dann könnte ich die Objects zu einem Binary linken und Euch die entstandenen Binärfiles schicken.
Die könnt Ihr über einen Disassembler jagen und Euch am Quellcode ergötzen.

Wie solls ich's machen?

@Bert, kann ich Deine Frage so verstehen dass Du den UDOS C-Kompiler sogar hast und dort nur die 3-Byte Version der Gleitkommaarithmetik fehlt? Oder ist es nur 'UDOS-freies' Interesse an den Algorithmen?
--
Gruß
Ralf

Ist ein alter Schaltkreis ein Schaltgreis?
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
013
30.06.2025, 18:11 Uhr
DL
Default Group and Edit


lt. obigen Link liegen die Abbilder ja mit in meiner Cloud, ich hab mal eine UDOS1715_Inhalt.zip mit hinzugefügt, die enthält die Einzeldateien
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
014
30.06.2025, 18:20 Uhr
Early8Bitz

Avatar von Early8Bitz


Zitat:
DL schrieb
lt. obigen Link liegen die Abbilder ja mit in meiner Cloud, ich hab mal eine UDOS1715_Inhalt.zip mit hinzugefügt, die enthält die Einzeldateien


Richtig, die Verteilung der Images ist ja damals über Deine Cloud gegangen. Das hatte ich gar nicht mehr auf dem Schirm. Danke für die Erinnerung.
--
Gruß
Ralf

Ist ein alter Schaltkreis ein Schaltgreis?
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
015
Heute, 07:59 Uhr
Bert



@Ralf:
Bei mir ist es eher 3.
Ich habe (noch) kein UDOS-System, wollte mir gern die alten C-Quellen mal anschauen und sehen, ob die sich heute noch übersetzen lassen.

Die Bildschirmsteuerung wird über Steuercodes gemacht. Z.B. Cursor setzten geht über Set (-11) + Zeile + Spalte, siehe tinit.h. Für die konkrete Umsetzung müste ich noch in die TERM.OBJ schauen und PUT_C dekodieren.

Witzig ist die Mischung der Firmennamen in TRADE.C:

Quellcode:

...
   "PEGASUS OIL COMPANY",
   "QUASAR UNLIMITED",
   "ROBOTRON DRESDEN",
   "SATURNUS GMBH",
   "TRABANT WERKE ZWICKAU",
   "UNIVERSUM AG",
   "VEB AUTOTRANS",
   "WARTBURG WERKE",
   "XENON STARWAYS",
...



Interessant ist auch der Copyrightverweis in SPELL.C:

Quellcode:

/* Copyright Dr. Edgar Huckert, 8758 Goldbach    */
/* Version 9.2.86                                */



Außerdem verwenden viele Programme z.T. deutsche Bezeichner und sehen nach fortgeschrittener Programmiererfahrung aus.

Und ja, es ist altes C, aber ich kann noch nicht sagen, welcher C-Compiler unter CP/M damit was anfangen kann.
--
Viele Grüße,
Bert
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
016
Heute, 11:12 Uhr
Dresdenboy



@Ralf:
Ich bin bei Variante 3. Mir würden schon die Obj-Files und Header reichen. Das lässt sich auch auseinandernehmen.

Idealerweise auch gleich float4 und int.

Was man mal kompilieren könnte, wäre ein simpler Benchmark zw. Float3 u. Float4.
--
___________________________________
Produktionen im Rahmen der "The Computer Art Community" (Demoszene): https://demozoo.org/sceners/64936/, YT-Kanal: https://www.youtube.com/@4lpha0ne/videos
Programmierung seit '86 in BASIC: KC85/3, C64, A1200, PC | ASM: LC-80, C64, KC87, A1200, NeoGeo, PC, Mega 65, µC | Turbo Pascal: BIC, PC | C: RS/6000, Alpha, PC, µC | C++, Java, Javascript, Rust, Lua, Perl, PHP u.a. auf PC
HW: LC-80, BIC A5105 komplett, KC87, KC85/2-4, KCC, C64s, C16, Plus/4s, A500s, A1200, Mega 65, ESP32s, RasPis, PCs, Laptops, MR 610, ...
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
017
Heute, 13:43 Uhr
Early8Bitz

Avatar von Early8Bitz

Wie DL gestern schon schrieb, liegen die bekannten drei Diskettenimages sowie eine ZIP Datei mit allen von den Disketten extrahierten Files in seiner Cloud zum runter laden.
--
Gruß
Ralf

Ist ein alter Schaltkreis ein Schaltgreis?
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
018
Heute, 21:24 Uhr
Bert




Zitat:
Early8Bitz schrieb
Man findet in dem ganzen Dateisalat keinerlei Hinweise auf einen Entwickler, weder als Personenname noch eine Firmenbezeichnung.



Die Copyright-Hinweise wurden alle getilgt:


Nur ein PLINK wurde vergessen und beim ASM steht das 'C' noch da
--
Viele Grüße,
Bert
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
019
Heute, 21:49 Uhr
Early8Bitz

Avatar von Early8Bitz


Zitat:
Bert schrieb

Zitat:
Early8Bitz schrieb
Man findet in dem ganzen Dateisalat keinerlei Hinweise auf einen Entwickler, weder als Personenname noch eine Firmenbezeichnung.



Die Copyright-Hinweise wurden alle getilgt:


Nur ein PLINK wurde vergessen und beim ASM steht das 'C' noch da


Hallo Bert, lass dich nicht in die Irre führen. UDOS ist das eine, der C-Compiler ist das andere.
Der C-Compiler erzeugt entweder eine UDOS-konforme Objektdatei source.obj aus der C-Quelle (bei Aufruf mit CC -o source oder eine Quellprogramm in Zilogs Z80-Mnemonic source.s beim Aufruf mit CC -s source.

Die entstehende Objektdatei wird dann mit dem Standard UDOS-(RIO-) Linker PLINK mit anderen Quellmoduln o/u Bibliotheken zum fertigen (ausführbaren) Programm zusammen gelinkt.
Im Falle, dass Du dir "nur" ein Quellprogramm vom Compiler hast erzeugen lassen, musst Du dieses erst mit dem Standard UDOS-(RIO-) Assembler ASM zu einer Objektdatei übersetzen und dann kannst Du es mit PLINK linken.

ASM und PLINK gehören nicht zur Compiler Suite, sie sind Standard UDOS-(RIO-) Systemprogramme, die auf jeder Stino Systemdiskette drauf sind.
--
Gruß
Ralf

Ist ein alter Schaltkreis ein Schaltgreis?

Dieser Beitrag wurde am 01.07.2025 um 22:01 Uhr von Early8Bitz editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
020
Heute, 21:59 Uhr
Early8Bitz

Avatar von Early8Bitz


Zitat:
Dresdenboy schrieb
Was man mal kompilieren könnte, wäre ein simpler Benchmark zw. Float3 u. Float4.


Dann brauchst Du aber letzlich den lauffähigen Compiler, denn die Gleitkommafunktionen, die in den beiden Bibliotheken stecken, müssen ja von einen C-Programm aufgerufen werden, was entsprechende arithmetische Ausdrücke für Deinen Benchmark benutzt.

Auch die die Übergabe von (Gleitkomma) Zahlen an die Bibliothek und die Verarbeitung der Rückgabewerte (z.B. speichern in einer Variable oder weiter verarbeiten bei komplexen Ausdrücken) gehören mit zur Laufzeitbetrachtung.

In der beiligenden Dokudatei UDOSC.B stehen schon Laufzeitvergleiche für beide Genauigkeiten.
--
Gruß
Ralf

Ist ein alter Schaltkreis ein Schaltgreis?

Dieser Beitrag wurde am 01.07.2025 um 21:59 Uhr von Early8Bitz editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
Seiten: -1-     [ Technische Diskussionen ]  



Robotrontechnik-Forum

powered by ThWboard 3 Beta 2.84-php5
© by Paul Baecher & Felix Gonschorek