amiga-news ENGLISH VERSION
.
Links| Forum| Kommentare| News melden
.
Chat| Umfragen| Newsticker| Archiv
.

amiga-news.de Forum > Programmierung > [?]Frage zu Assembler und Amiga [ - Suche - Neue Beiträge - Registrieren - Login - ]

-1- [ - Beitrag schreiben - ]

27.06.2005, 02:27 Uhr

LeChuck
Posts: 5
Nutzer
Hallo auch,

... zu erst möchte ich sagen, das ich zur Zeit kein Amiga Besitzer bin, was ich aber bis zum Herbst ändern will. Ob der AmigaOne oder Pegasos dann auf meinem Schreibtisch stehen wird, weiss ich jetzt noch nicht, einen Classic Amiga will ich mir aber nicht kaufen. Das soll hier aber nicht Thema sein.

Bevor ich auf einem PC richtig Assembler lernte, hatte ich auf dem Amiga etwas mit DevPac experimentiert. Da ich in der heutigen Zeit immer noch am liebsten in Assembler programmiere ist es für mich ein wichtiger Anschaffungsgrund. Ich würde deshalb gerne wissen welche Assembler, Linker, Debugger (oder Kompletpakete) es für AmigaOne/Pegasos gibt. Genauso wichtig finde ich, wie kompatibel verhält sich der (noch nicht assemblierte) Sourcecode unter den beiden Systemen, von Betriebssystemabhängigkeit mal abgesehen. Und wie sieht das mit der Abwärtskompatibilität zum m68k aus?

Über Buchempfehlungen, Tutorials, Webseiten über Assembler für AmigaOne/Pegasos wäre ich auch dankbar.

peace

[ - Antworten - Zitieren - Direktlink - ]

27.06.2005, 09:50 Uhr

MaikG
Posts: 5172
Nutzer
>Bevor ich auf einem PC richtig Assembler lernte, hatte
>ich auf dem Amiga etwas mit DevPac experimentiert. Da ich
>in der heutigen Zeit immer noch am liebsten in Assembler
>programmiere ist es für mich ein wichtiger
>Anschaffungsgrund. Ich würde deshalb gerne wissen welche
>Assembler, Linker, Debugger (oder Kompletpakete) es für
>AmigaOne/Pegasos gibt.


Wahrscheinlich gar keine, da es keiner für notwendig hält
auf Prozessoren >=600 MHZ in Assembler zu Programmieren.

Du kannst jedoch WOS Programme auf dem AONE/OS4 laufen
lassen.

>Genauso wichtig finde ich, wie kompatibel verhält sich
>der (noch nicht assemblierte) Sourcecode unter den
>beiden Systemen, von Betriebssystemabhängigkeit mal
>abgesehen.

Wenn du unter WarpOS schreibst, wird es auf Amiga
mit PPC laufen und auch unter AONE/AOS4 - WOS Emulation.

>Und wie sieht das mit der Abwärtskompatibilität
>zum m68k aus?

Ein PPC-Prozessor so gut wie keine Befehle vom 68K Prozessor.

Mit einem C Programm ist das Möglich aber nicht mit assembler.
Das ist wie 68k gegenüber einem Pentium.

[ - Antworten - Zitieren - Direktlink - ]

27.06.2005, 22:43 Uhr

DieterG
Posts: 164
Nutzer
Zitat:
Original von MaikG:
>Bevor ich auf einem PC richtig Assembler lernte, hatte
>ich auf dem Amiga etwas mit DevPac experimentiert. Da ich
>in der heutigen Zeit immer noch am liebsten in Assembler
>programmiere ist es für mich ein wichtiger
>Anschaffungsgrund. Ich würde deshalb gerne wissen welche
>Assembler, Linker, Debugger (oder Kompletpakete) es für
>AmigaOne/Pegasos gibt.


Wahrscheinlich gar keine, da es keiner für notwendig hält
auf Prozessoren >=600 MHZ in Assembler zu Programmieren.


Mag sein, das es nicht nötig ist, auf Assembler-Basis zu coden, aber auch mir macht das noch a meisten Spass.
Ihr könnt ja alle in Basic oder C oder C++ oder Ansi-C oder Modula oder was auch immer coden, dagegen habe ic rein garnichts.
Da für mich der Spassfaktor das wichtigste ist, bleibe ich auch grösstenteiles beim Assembler, denn nur hier machst Du die Fehler garantiert selbst im Source, und nicht bei irgendeinem linken einen falschen parameter und nichts geht mehr.

Aber PPC-Assembler ist schon recht schwierig. Vieleicht eben darum noch interessanter. Ausserdem kann, oder sollte man sich hier auch den Befehlssatz selbst mittels eigener, in einfacherer Schreibweise erzeugten Befelen ergänzen.

Zur Frage zurück. Es gibt für den Amiga noch nichts richtiges für OS4, was aber auch an der zwingtaktik von hyperion liegt. Denn diese geben keinerlei Assembler-includes raus, weil sie "Hochsprachen fördern wollen" :-)LOL
Aber trotzdem geht schon so etwas. Falls du irgendwelche Includes brauchts, die schon für C vorliegen, kanns du daraus event. die richtige selbst erzeugen, bzw, konvertieren.
Als Assembler kannst du pasm nutzen, den source musst du da natürlich als Ascii vorliegen haben.
Zum konvertieren 68k-source zu PPC-Source ist ppc680x0 schon sehr gut nutzbar, wenn zur zeit auch noch etwas nachträgliche handarbeit nötig ist. (Leider habe ich hier noch probleme mit macros, die scheinen einfach als falsch interpretiert zu werden, statt übersetzt zu werden).
Debugger gibt es nicht, hier hilft Dir aber der Grimreaper vom AOS4 schon ganz gut.

[ - Antworten - Zitieren - Direktlink - ]

27.06.2005, 23:22 Uhr

MaikG
Posts: 5172
Nutzer
Ich Programmiere selbst ein wenig in Assembler - dagegen
hab ich auch nicht. Nur wenn er ein Programm für
2 Prozessoren schreiben will wirds schwierig bzw. muss
er 2 Programme schreiben.

[ - Antworten - Zitieren - Direktlink - ]

27.06.2005, 23:30 Uhr

Ralf27
Posts: 2779
Nutzer
Ha, mir geht es so wie euch beiden. :D :D

Ich schreib meine Programme in Basic, weil es mir einfach Spaß macht. Es muß ja nicht alles 100%tig Industriestandart, Normgerecht oder sonst was sein. Es ist wichtig das es Spaß macht. Und ganz nebenbei mach ich auch noch etwas in ASM, weil mir auch hin und wieder das Basic doch etwas zu langsam ist. 8) :D

Die meisten programmieren ja nur noch für den Amiga weil es Spaß macht. Geld kann man damit schon lange nicht mehr auf dem Amiga verdienen.

In der Hinsicht zieh ich übrigens denn Hut vor Hyperion. Die Progger werden da wohl in Cent pro Stunde bezahlt, denn sonst kann das ganze eh niemals bezahlbar sein bei der vorhersehbaren Anzahl an verkaufbaren Einheiten... 8o
--
http://www.alternativercomputerclub.de.vu

[ - Antworten - Zitieren - Direktlink - ]

28.06.2005, 01:00 Uhr

DariusBrewka
Posts: 899
[Benutzer gesperrt]
Zitat:
Zur Frage zurück. Es gibt für den Amiga noch nichts richtiges für OS4, was aber auch an der zwingtaktik von hyperion liegt. Denn diese geben keinerlei Assembler-includes raus, weil sie "Hochsprachen fördern wollen" :-)LOL

warum solltes die das auch?, schliesslich beduetet das ein gewisses Mass an Mehrarbeit und wer heutzutage grosse Anwendungen in ASM schreibt, dem ist IMHO nicht mehr zu Helfen. Die Bedeutung von ASM ist nicht mehr die, welche es vor 10 Jahren war und Hochoptimierter C Code ist nicht langsamer als guter ASM Code, es kommt immer auf den Algorithmus an.

Wären Alle Anwendungen in C Programmiert worden, so sähe die PPC Landschaft sicherlich auch Besser aus.

Das sagt aber nicht aus dass ASM keinen Spass macht.



[ Dieser Beitrag wurde von DariusBrewka am 28.06.2005 um 01:01 Uhr editiert. ]

[ - Antworten - Zitieren - Direktlink - ]

28.06.2005, 01:03 Uhr

geit
Posts: 332
[Ex-Mitglied]
PASM sollte genau das sein, was Du suchst!

http://devnull.owl.de/~frank/pasm.html



Damit hab ich meine Startup-Objekte für VBCC assembliert.

Geit


[ Dieser Beitrag wurde von geit am 28.06.2005 um 01:12 Uhr editiert. ]

[ - Antworten - Zitieren - Direktlink - ]

28.06.2005, 04:04 Uhr

LeChuck
Posts: 5
Nutzer
Ja cool, PASM macht schon mal einen guten Eindruck, (32/)64-Bit Assembler für PowerPC, das flashed mich schon jetzt. Fehlt noch Dokumentation über internes Computergeschehen.

Ist natürlich extrem schade, wenn es keinen vernünftigen Debugger gibt, ist irgendwie das beste Tool zum lernen. Ich würde da schon fast einen Debugger als erstes Projekt in Angriff nehmen, aber mit C. Dazu bräuchte ich eine Übersicht der Opcodes.

Mal nebenbei zu der Hochsprachendebatte: um ein Programm zu realisieren benutze ich auch eher C/C++. Meine Motivation in Assembler zu programmieren ist eine völlig andere. Mir geht es dabei die Abstraktion der Maschine zu durchblicken, den optimalsten Code zu programmieren versuchen, alle möglichen Komponenten des Computers und deren Programmierung explizit zu begreifen, und mehr ... das macht einfach Spass. Nebenbei entstehen dann auch Libraries und Programme.

[ - Antworten - Zitieren - Direktlink - ]

28.06.2005, 09:58 Uhr

MaikG
Posts: 5172
Nutzer
>schliesslich beduetet das ein gewisses Mass an Mehrarbeit
>und wer heutzutage grosse Anwendungen in ASM schreibt,
>dem ist IMHO nicht mehr zu Helfen. Die Bedeutung von ASM
>ist nicht mehr die, welche es vor 10 Jahren war und
>Hochoptimierter C Code ist nicht langsamer als guter ASM
>Code, es kommt immer auf den Algorithmus an.

Der Moovid Programmierer, Programmiert in Assembler.
Nicht nur das Moovid schneller als Frogger ist, nein es
ist sogar viel stabieler.

[ - Antworten - Zitieren - Direktlink - ]

28.06.2005, 10:03 Uhr

fisch08
Posts: 692
Nutzer
Zitat:
Original von LeChuck:
Mal nebenbei zu der Hochsprachendebatte: um ein Programm zu realisieren benutze ich auch eher C/C++. Meine Motivation in Assembler zu programmieren ist eine völlig andere. Mir geht es dabei die Abstraktion der Maschine zu durchblicken, den optimalsten Code zu programmieren versuchen, alle möglichen Komponenten des Computers und deren Programmierung explizit zu begreifen, und mehr ... das macht einfach Spass. Nebenbei entstehen dann auch Libraries und Programme.


Die Hochsprachedebatte ist an sich keine: In Assembler programmieren hat einfach zu viele Nachteile gegenüber nahezu jeder Hochsprache:
- nicht portabel
- fehleranfällig
- keine Objektorientierung
- Zu lernaufwendig...

Wo Assembler noch was (Spaß) bringt ist im Bereich der Microcontroller und embedded systems, wenn es mal ganz haarig wird und es erforderlich ist, schnell Daten zu bearbeiten: Ein ganz großer Markt ist im Moment die Industrielle Bildverarbeitung: Ein Prof hir an meiner FH entwickelt Assemblerprogramme für superschnelle Zeilenkameras auf 8 Bit Microcontrollern(!). Da ist Assembler unbedingt erforderlich und die Bauweise ist mehr als nur kompakt.

Ich programmiere auch gerne in Assembler muß aber eingestehen, dass meine C/C++ Programme schneller sind, als meine Assemblerprogramme. Die C/C++ Compiler optimieren einfach göttlich, dem hinterherzukommen bedarf es mehr als nur Erfahrung und Erfahrung kostet Zeit, und Zeit hat keiner. Aber anderen Assemblerprogrammierern geht es in diesem Bereich genauso: Wo ich z.B. hervorragenden Code hinbekommen würde, wäre eindeutig im 68K Bereich, wenn ich selbiges Wissen mir auf PPC aneignen würde, wären die nächsten 2-3 Jahre erschlagen mit Arbeit, bin ja auch kein Schüler mehr(!)...

Zur Zeit programmiere ich einen HCS08 Microcontroller von Freescale mit dazugehörigem 13192 802.15.4 Funkmodul. In C versteht sich...

Gruß
Fisch08

--
Um den Spamfilter zu umgehen: Bei direkter Antwort per Mail bitte "[Amiga]" ins Subject: Nur so 100%ige Garantie, dass man nicht im Filter landet!

[ - Antworten - Zitieren - Direktlink - ]

28.06.2005, 10:20 Uhr

DariusBrewka
Posts: 899
[Benutzer gesperrt]
Wenn ich in ASM etwas schreibe, dann ist es auf genau einen Prozessor optimiert, schon auf einem Nachfolger (68020->68030) kann es dann schon wieder ganz anders aussehen. Beim Compiler setze ich einfach einen Switch und erhalte im günstigsten Fall ein optimiertes Executable.

Vor ca. 10 Jahren haben mich die Langsamen JPEG Decoder genervt und habe dann einen eigenen JPEG Decoder geschrieben in ASM, leider war der dann Langsamer als der alte C Decoder, d.h. ausser einen Lerneffekt und massig verschwendeter Zeit hat's nichts gebracht. Selbst wenn's 5% bringen würde, wäre dass nicht in relation zum Aufwand zu setzen.

Zitat:
Der Moovid Programmierer, Programmiert in Assembler.
Nicht nur das Moovid schneller als Frogger ist, nein es
ist sogar viel stabieler.


natürlich hat Moovid auch den Vorteil, dass es innerhalb kürzester Zeit auf PPC umgesetzt werden kann? Ehrlich da nutzt mir der schnellere 68k Code nichts und das Pro/Contra ASM hat mit der Stabilität nicht allzuviel zu tun und auch wenn das vieleicht hier ein Beispiel ist, es dürfte eines der Wenigen sein, wo ein ASM Tool stabiler ist als ein vergleichbares C Teil.

[ Dieser Beitrag wurde von DariusBrewka am 28.06.2005 um 10:25 Uhr editiert. ]

[ - Antworten - Zitieren - Direktlink - ]

28.06.2005, 11:58 Uhr

Holger
Posts: 8116
Nutzer
Zitat:
Original von DieterG:
Zur Frage zurück. Es gibt für den Amiga noch nichts richtiges für OS4, was aber auch an der zwingtaktik von hyperion liegt. Denn diese geben keinerlei Assembler-includes raus, weil sie "Hochsprachen fördern wollen" :-)LOL

Das wäre mir neu. Es gibt meines Wissens ausschließlich die gcc-Umgebung als offizielle Entwicklungsumgebung. Damit gibt es exakt einen C/C++ Compiler und exakt einen Assembler für AOS4ppc, neben vielleicht vbcc als puren C-Compiler, aber der ist wahrscheinlich nicht offizielle Entwicklungsumgebung, sondern "nur" 3rd-party Produkt.
Da m.W. alles, was an Debugging angeboten wird, auf gdb basiert, kann man damit selbstverständlich auch Assembler-Code debuggen. Aber ausschließlich ppc, 68k-Unterstützung gibt's da nicht.

mfg
--
Good coders do not comment. What was hard to write should be hard to read too.

[ - Antworten - Zitieren - Direktlink - ]

28.06.2005, 12:03 Uhr

Holger
Posts: 8116
Nutzer
Zitat:
Original von LeChuck:
Meine Motivation in Assembler zu programmieren ist eine völlig andere. Mir geht es dabei die Abstraktion der Maschine zu durchblicken, den optimalsten Code zu programmieren versuchen, alle möglichen Komponenten des Computers und deren Programmierung explizit zu begreifen, und mehr ... das macht einfach Spass.

Wenn Du für jede einzelne Instruktion sagen kannst, in welchem Zustand sich die einzelnen Stages der Pipeline befinden und was gerade jede der drei integer-Einheiten und die float-Einheit(en) machen, dann mußt Du nur noch die Auslastung der Load/Store-Unit und des Caches vorhersagen, um den optimalen Code erzeugen zu können.
Für den Spaß-Faktor sorgt die Tatsache, daß ich bestimmt noch einiges vergessen habe, was man beachten muß. Wenn dann der 08/15 Compiler-Output, den ein Programmier-Anfänger in 5 Minuten zusammengehackt hat, Deinem in 5 Tagen optimierten Code davonrauscht, macht das bestimmt Spaß. Ist nur die Frage, wem.

mfg
--
Good coders do not comment. What was hard to write should be hard to read too.

[ - Antworten - Zitieren - Direktlink - ]

28.06.2005, 13:49 Uhr

fisch08
Posts: 692
Nutzer
Zitat:
Original von Holger:

jetzt wirst du aber richtig gemein ;-)

--
Um den Spamfilter zu umgehen: Bei direkter Antwort per Mail bitte "[Amiga]" ins Subject: Nur so 100%ige Garantie, dass man nicht im Filter landet!

[ - Antworten - Zitieren - Direktlink - ]

28.06.2005, 14:19 Uhr

LeChuck
Posts: 5
Nutzer
Ich glaube ihr habt immer noch nicht kapiert warum mir Assembler programmieren Spass macht und wann ich in Assembler programmiere.

[ Dieser Beitrag wurde von LeChuck am 28.06.2005 um 14:20 Uhr editiert. ]

[ - Antworten - Zitieren - Direktlink - ]

28.06.2005, 14:21 Uhr

gni
Posts: 1106
Nutzer
Zitat:
Holger:
Es gibt meines Wissens ausschließlich die gcc-Umgebung als offizielle Entwicklungsumgebung.

Spielt das irgendeine Rolle? Hyperion (Amiga wer auch immer) sollten froh sein, das es neben dem GCC noch andere Entwicklungstools gibt.
Zitat:
Damit gibt es exakt einen C/C++ Compiler und exakt einen Assembler für AOS4ppc
FYI, den GNU-Assembler und GNU-Linker kann man ohne weiteres gegen PASM und VLINK austauschen. Das ganze habe ich gerade erfolgreich bei GCC für PowerUp und WarpOS praktiziert (der PowerUp-Compiler ist dem OS4 GCC sehr ähnlich und kann sowohl __libcall als auch __linearvarargs)
Zitat:
neben vielleicht vbcc als puren C-Compiler, aber der ist wahrscheinlich nicht offizielle Entwicklungsumgebung, sondern "nur" 3rd-party Produkt.
Mit dem man dennoch ohne Schwierigkeiten Programme für OS4 übersetzen kann. Es soll ja Leute geben, die den GCC nicht mögen ;-)

[ - Antworten - Zitieren - Direktlink - ]

28.06.2005, 15:44 Uhr

fisch08
Posts: 692
Nutzer
Zitat:
Original von LeChuck:
Ich glaube ihr habt immer noch nicht kapiert warum mir Assembler programmieren Spass macht und wann ich in Assembler programmiere.


Moin,

hm, ehrlich gesagt fehlen dir ja auch Argumente. Also zumindestens habe ich noch keines gehört, welches plausibel klingt, um Programme in Assembler zu programmieren, gerade auf G4 Prozessoren.

Aber solange du Spaß daran hast und auch die Zeit, sollte es anderen vollkommen egal sein, was du so treibst: "Hauptsache nicht kriminell" pflegte mein Vater immer zu sagen... ;-)

Gruß
Fisch08



--
Um den Spamfilter zu umgehen: Bei direkter Antwort per Mail bitte "[Amiga]" ins Subject: Nur so 100%ige Garantie, dass man nicht im Filter landet!

[ - Antworten - Zitieren - Direktlink - ]

28.06.2005, 15:51 Uhr

Holger
Posts: 8116
Nutzer
Zitat:
Original von gni:
Spielt das irgendeine Rolle? Hyperion (Amiga wer auch immer) sollten froh sein, das es neben dem GCC noch andere Entwicklungstools gibt.
...
FYI, den GNU-Assembler und GNU-Linker kann man ohne weiteres gegen PASM und VLINK austauschen. Das ganze habe ich gerade erfolgreich bei GCC für PowerUp und WarpOS praktiziert (der PowerUp-Compiler ist dem OS4 GCC sehr ähnlich und kann sowohl __libcall als auch __linearvarargs)

Das glaube ich gern, meine Aussage bezog sich ledglich auf die Behauptung, Hyperion würde Hochsprachen durch irgendeine Entscheidung bzgl. der veröffentlichten Entwicklertools forcieren wollen.
Davon kann nunmal keine Rede sein. Daß es neben den offiziellen auch noch 3rd-party Tools gibt, wollte ich überhaupt nicht abstreiten.

mfg
--
Good coders do not comment. What was hard to write should be hard to read too.

[ - Antworten - Zitieren - Direktlink - ]

28.06.2005, 15:54 Uhr

Holger
Posts: 8116
Nutzer
Zitat:
Original von LeChuck:
Ich glaube ihr habt immer noch nicht kapiert warum mir Assembler programmieren Spass macht und wann ich in Assembler programmiere.

Wir können nunmal nicht hellsehen. Wir wissen über Dich nur das, was Du uns erzählst.

mfg
--
Good coders do not comment. What was hard to write should be hard to read too.

[ Dieser Beitrag wurde von Holger am 28.06.2005 um 15:54 Uhr editiert. ]

[ - Antworten - Zitieren - Direktlink - ]

28.06.2005, 16:02 Uhr

Mad_Dog
Posts: 1944
Nutzer
Zitat:
Original von Holger:

Wenn Du für jede einzelne Instruktion sagen kannst, in welchem Zustand sich die einzelnen Stages der Pipeline befinden und was gerade jede der drei integer-Einheiten und die float-Einheit(en) machen, dann mußt Du nur noch die Auslastung der Load/Store-Unit und des Caches vorhersagen, um den optimalen Code erzeugen zu können.


...und vor allem beachten, welche Ersetzungsstrategie das Cache verwendet, damit möglichst nichts rausfliegt, was man später teuer aus dem Ram holem muß. ;) ...und dann die Algorithmen darauf anpaasen - klassischen Beispiel: Matrixmultiplikation... ...willkommen im Club der
"Rechnerorganisation"-Geschädigten! ;)


--

http://www.norman-interactive.com

[ - Antworten - Zitieren - Direktlink - ]

28.06.2005, 17:25 Uhr

LeChuck
Posts: 5
Nutzer
Ich dachte der kurze Absatz hätte gereicht um meine Motivation und Einsatz zu verdeutlichen. Aber egal, ich will eigentlich nicht über die Vor- und Nachteile von Assembler reden, die sind mir durchaus bekannt Mir geht es hierbei um Klarheit über Assemblerprogrammierung für AmigaOne/Pegasos zu verschaffen, Und auch um genau diese ganzen Hardwarekleinigkeiten.. Vielleicht möchte ich ja irgenwann einen eigenen Compiler mit Optimierungsfunktionen schreiben, oder ein eigens Betriebssystem ... only god knows. Ob es Sinn macht? Keine Ahnung, macht es überhaupt Sinn am Computer zu arbeiten?

peace

[ Dieser Beitrag wurde von LeChuck am 28.06.2005 um 17:25 Uhr editiert. ]

[ - Antworten - Zitieren - Direktlink - ]

28.06.2005, 18:14 Uhr

fisch08
Posts: 692
Nutzer
Zitat:
Original von LeChuck:
Hardwarekleinigkeiten.. Vielleicht möchte ich ja irgenwann einen eigenen Compiler mit Optimierungsfunktionen schreiben, oder ein eigens Betriebssystem ... only god knows. Ob es Sinn macht? Keine Ahnung, macht es überhaupt Sinn am Computer zu arbeiten?


Nunja, für den Compiler empfehlen sich eigentlich immer die Entwicklerdokus von Motorola/Freescale: Da steht eigentlich alles sinngemäßt drinne: Alle Befehle, die Architektur...aber gut english solltest du schon können. Tja und dann das bischen Hardwareanbindung der Mainboard Komponenten - bitte: Die Welt steht dir offen.

Aber, verzeihe mir, du wirst es einfach nicht in einer angemessenen Zeit schaffen, den/die CPU so dermaßen kennenzulernen, das du in der Lage bist, einen optimierten Compiler zu schreiben. Damit will ich nichts zu deinen Fähigkeiten sagen, aber eins kannst auch du nicht: Den Tag über 24 Stunden hinaus zu verlängern. Und mit welchem anvisiertem Resultat? Das der Assemblercode um 1% kleiner ist? vielleicht um 1% schneller? Hast du eigentlich mal ernsthaft hinterfragt, welche Ausbeute dein Arbeitseinsatz haben könnte?

Also meine persönliche Einschätzung:
Vergiß es, schnapp dir ein 8Bit Microcontroller und programmiere dort in Assembler: Das bringt mehr Spaß und hat auch mehr Aussicht auf Erfolg und bringt dich eventuell mal weiter: Microcontroller Programmierer sind gesucht...

Ach und nochwas: Das Betriebssystem in Assembler vergiß mal lieber gleich. So große Softwareprojekte sind im Ansatz schon mit Assembler gescheitert.

Gruß
Fisch08
--
Um den Spamfilter zu umgehen: Bei direkter Antwort per Mail bitte "[Amiga]" ins Subject: Nur so 100%ige Garantie, dass man nicht im Filter landet!

[ - Antworten - Zitieren - Direktlink - ]

28.06.2005, 18:32 Uhr

Holger
Posts: 8116
Nutzer
Zitat:
Original von LeChuck:
Ich dachte der kurze Absatz hätte gereicht um meine Motivation und Einsatz zu verdeutlichen. Aber egal, ich will eigentlich nicht über die Vor- und Nachteile von Assembler reden, die sind mir durchaus bekannt Mir geht es hierbei um Klarheit über Assemblerprogrammierung für AmigaOne/Pegasos zu verschaffen, Und auch um genau diese ganzen Hardwarekleinigkeiten..

Über was denn nun genau?
Auf dem einen laufen Linux und AOS4, auf dem anderen Linux und MOS und evtl. BSD. Auf keinem der beiden Boards läuft ein Betriebssystem, daß Dich an die Hardwareprogrammierung, wie Du sie andeutest, heranlassen wird.
Zitat:
Vielleicht möchte ich ja irgenwann einen eigenen Compiler mit Optimierungsfunktionen schreiben, oder ein eigens Betriebssystem ... only god knows.
Compiler werden nicht in Assembler geschrieben. Und ein hello-world in assembler zu schreiben, wird Dir nicht die nötige Erfahrung liefern, um einen compiler zu bauen.
Das nötige Erfahrungen für's Feintuning liefern da eher automatisierte Testumgebungen, die alle Optionen auf ihre praktische Auswirkungen überprüfen. Bis Du den vergleichbaren assembler-code in den hunderttausend resultierenden Versionen von Hand mal ausprobiert hast, würden Jahrzehnte vergehen.
Und ein eigenes Betriebssystem? Wofür bräuchtest Du da einen Assembler?
Zitat:
Ob es Sinn macht? Keine Ahnung, macht es überhaupt Sinn am Computer zu arbeiten?
Genausoviel wie das Leben an sich.

mfg
--
Good coders do not comment. What was hard to write should be hard to read too.

[ - Antworten - Zitieren - Direktlink - ]

28.06.2005, 18:57 Uhr

MaikG
Posts: 5172
Nutzer
>natürlich hat Moovid auch den Vorteil, dass es innerhalb
>kürzester Zeit auf PPC umgesetzt werden kann?

Moovid ist schon auf PPC umgesetzt, jedenfalls alle
Rechenintensiven Dinge...

[ - Antworten - Zitieren - Direktlink - ]

28.06.2005, 20:36 Uhr

DieterG
Posts: 164
Nutzer
Zitat:
Original von gni:
Zitat:
Holger:
Es gibt meines Wissens ausschließlich die gcc-Umgebung als offizielle Entwicklungsumgebung.

Spielt das irgendeine Rolle? Hyperion (Amiga wer auch immer) sollten froh sein, das es neben dem GCC noch andere Entwicklungstools gibt.
Zitat:
Damit gibt es exakt einen C/C++ Compiler und exakt einen Assembler für AOS4ppc
FYI, den GNU-Assembler und GNU-Linker kann man ohne weiteres gegen PASM und VLINK austauschen. Das ganze habe ich gerade erfolgreich bei GCC für PowerUp und WarpOS praktiziert (der PowerUp-Compiler ist dem OS4 GCC sehr ähnlich und kann sowohl __libcall als auch __linearvarargs)
Zitat:
neben vielleicht vbcc als puren C-Compiler, aber der ist wahrscheinlich nicht offizielle Entwicklungsumgebung, sondern "nur" 3rd-party Produkt.
Mit dem man dennoch ohne Schwierigkeiten Programme für OS4 übersetzen kann. Es soll ja Leute geben, die den GCC nicht mögen ;-)


Also hier fängt bei mir schon die schwierigkeit an. Beim SDK sind zweierlei gcc dabei gewesen, jedenfalls beim ersten. Kann mittlerwiel anders sein.
Trotzdem, in diesem verzeichnis befinden sich unterverzeichnisse wieder mit unterverzeichnissen wieder mit unterverzeichnissen u.s.w..
Allein einen ordner Bin gibt es da bestimmt an die 8 mal, einen ordner AmigaPPC auch nicht unter 4 mal.
Wo fängt man da a zu suchen, was eigentlic man benutzen muss. Einfach zu gross das ganze paket, reicht nicht einfac EIN linker und EIN Assembler, was ist der ganze rest, und welche bins muss man nun nehmen ß
Ich habe vor Jahren mal mit c angefangen, dann nochmals mit Ansi-C versucht, mittlerweile sind wir ja wieder weiter, aber ein einfaches programm, das bestimmt keinen Fehler im eigentlichen Source mehr hatte, bekam ich damals nicht zur function.
Da musste man diese lib vor jener nach dieser und dann aber in der varainteX mit Floatingpoint und dem parametern a bis v compilieren, und ähnliches beim linken.
Ich weiss es zwar nicht, aber wahrscheinlich haben diese zig binärdateien beim gcc auch irgendetwas damit zu tuen, was da im hintergrund abläuft.

Und da ist eben Assembler klar. Zwar kann man noch optimierungsoptionen einschalten, aber das programm wird immer laufen, wenn der Source korrekt ist.
Eventuell werde ich mal veresuchen, irgendwas vom GCC u bekommen, aber wenn ich da schon lese, das man bestimmte Verzeichnisse und includes nochmals in andere verzeichnisse kopieren muss, damit es auch funktoniert, ist bei mir der Spassfaktor schon am Ende, schliesslich will ich nicht Zeit darein investieren, meine entwicklerumgebung zu verstehen und konfigurieren, sondern ins Program investieren.

[ - Antworten - Zitieren - Direktlink - ]

28.06.2005, 21:41 Uhr

LeChuck
Posts: 5
Nutzer
Also, MCUs zu programmieren ist schon ein interessanter Vorschlag. Allerdings bin ich kein E-Techniker und bin auch nicht versiert darauf, trotzdem kenn ich einige von der TU mei mir. Vielleicht beschäftige ich mich in Zukunft mal damit, aber in diesem Moment interessiert mich wie das für den AmigaOne/Pegasos ausschaut, ob unter AOS, MOS, Linux, BSD, was auch immer. Was ich darüber genau wissen will? Alles um loslegen zu können. Und die Beispiele mit dem Compiler und dem OS sollten doch nur klar machen, das ein Mindestmass an Wissen über Assembler nicht verkehrt ist. Ausserdem, einen reinen Assembler Kernel zu schreiben ist nicht unbedingt aussichtsloser als jedes andere Projekt, und C++ ist auch nicht gerade die geilste Lösung für OOP.

Aber okay, vielleicht ist AmigaOne/Pegasos wirklich keine Platform für Assembler Freaks. Informationen sind ja auch rar gesät. Genau deswegen erbitte ich Hilfe ... und nicht um eine Grundsatzdiskussion aufzuziehen.

[ - Antworten - Zitieren - Direktlink - ]

29.06.2005, 11:46 Uhr

fisch08
Posts: 692
Nutzer
Zitat:
Original von LeChuck:
Also, MCUs zu programmieren ist schon ein interessanter Vorschlag. Allerdings bin ich kein E-Techniker und bin auch nicht versiert darauf, trotzdem kenn ich einige von der TU mei mir. Vielleicht beschäftige ich mich in Zukunft mal damit, aber in diesem Moment interessiert mich wie das für den AmigaOne/Pegasos ausschaut, ob unter AOS, MOS, Linux, BSD, was auch immer. Was ich darüber genau wissen will? Alles um loslegen zu können. Und die Beispiele mit dem Compiler und dem OS sollten doch nur klar machen, das ein Mindestmass an Wissen über Assembler nicht verkehrt ist. Ausserdem, einen reinen Assembler Kernel zu schreiben ist nicht unbedingt aussichtsloser als jedes andere Projekt, und C++ ist auch nicht gerade die geilste Lösung für OOP.

Aber okay, vielleicht ist AmigaOne/Pegasos wirklich keine Platform für Assembler Freaks. Informationen sind ja auch rar gesät. Genau deswegen erbitte ich Hilfe ... und nicht um eine Grundsatzdiskussion aufzuziehen.


Also vorweg: Viel Wissen schadet nie. Und wenn jemand PPC Assembler optimieren kann, weil er das Wissen dazu hat: Respekt und Hochachtung. Das ist m.E. ein Spezialwissen, welches man nicht an jeder Ecke findet. (Nur wer sucht danach?)
Und ob C++ die geilste Lösung für OOP ist, weiß ich nicht. Kann ich vielleicht auch nicht sagen, da ich bisher noch kein Programm/Projekt zusammengezimmert habe, welches erstens mehr als 100K Zeilen hat und zweitens sehr extrem von Klassen/Vererbung/Polymorphie gebraucht gemacht hat, das ich im Anschluß sagen kann: Ohne OOP wäre das Projekt nichts geworden: Zumeist verwende ich Klassen ausschließlich zur Datenkapselung, manchmal vererbe ich auch, aber das ist gaaaanz selten, aber bei der Datenkapselung muß ich sagen, dass das sehr viel bequemer als in nicht-OOP Hochsprachen ist. Eigentlich mit der Grund, warum ich kein nicht OOP Sprache mehr anrühren würde.

Nun denn: MCU Development Kits kann man im Übrigen relativ günstig erwerben, und da ist alles dabei was man brauch: Eine kleine IDE (zumeist für Windows), Programmierkabel, Development Board, wo man eventuell auch schon etwas Peripherie hat, bzw. welche dazubasteln kann. Die Dokus dazu sind mehr als ausreichend...Im Übrigen haben Reichelt & Co. solche Dinge im Angebot: Wirf mal ein Auge drauf. Ach und nochwas: Hersteller ist eigentlich egal, haben alle ihre Vor-und Nachteile: Sei flexibel und zumeist programmiert man sowieso in C mit Inline Assember im Notfall...Mein Favorit ist zur Zeit die Freescale Reihe HCS08xx, sind aber in der Anschaffung (Programmierkabel/Software) sehr teuer, aber kann einem ja was wert sein, wenn man z.B. vor hat auf 802.15.4 Funknetzwerken zu programmieren.

Gruß
Fisch08





--
Um den Spamfilter zu umgehen: Bei direkter Antwort per Mail bitte "[Amiga]" ins Subject: Nur so 100%ige Garantie, dass man nicht im Filter landet!

[ - Antworten - Zitieren - Direktlink - ]

29.06.2005, 11:59 Uhr

Mad_Dog
Posts: 1944
Nutzer
@LeChuck:

Vielleicht hilft Dir folgender Link weiter:

http://search.freescale.com/query.html?col=product+tspub&charset=iso-8859-1&qt=powerpc+assembler


--

http://www.norman-interactive.com

[ - Antworten - Zitieren - Direktlink - ]

29.06.2005, 12:01 Uhr

Mad_Dog
Posts: 1944
Nutzer
Zitat:
Original von LeChuck:

Genauso wichtig finde ich, wie kompatibel verhält sich der (noch nicht assemblierte) Sourcecode unter den beiden Systemen, von Betriebssystemabhängigkeit mal abgesehen. Und wie sieht das mit der Abwärtskompatibilität zum m68k aus?


Im emulations-Modus wirst Du vermutlich problemlos 68k Assembler verwenden können. Der PPC selbst kennt keine 68k-Befehle.


--

http://www.norman-interactive.com

[ - Antworten - Zitieren - Direktlink - ]


-1- [ - Beitrag schreiben - ]


amiga-news.de Forum > Programmierung > [?]Frage zu Assembler und Amiga [ - Suche - Neue Beiträge - Registrieren - Login - ]


.
Impressum | Datenschutzerklärung | Netiquette | Werbung | Kontakt
Copyright © 1998-2024 by amiga-news.de - alle Rechte vorbehalten.
.