Assembler oder Action!


Assembler oder Action!

von tuxie » So 3. Mai 2009, 00:32
Hi,

ich bin am Überlegen mir eine Progiesprache aufm XL anzulernen da ich aus der AVR und Linux richtung viel in C mache dachte ich an Action! aber wäre nicht Assembler sinnvoller und was wäre schwieriger?

TSchau Ingo

von Cash » So 3. Mai 2009, 09:00
Hallo Ingo,

ich bin auch schon die ganze Zeit am Programmiern lernen auf dem kleinen Atari. Ist ne tolle Sache wenn sich noch mehr Leute hier begeistern würden. Ist ja doch etwas mau in letzter Zeit hier in der Programmierer Rubrick.
Ich kenne mich mit c- nicht aus, aber gibt es da nicht schon compiler die in Atari assembler compilieren können? Dann wäre das ja das einfachste für dich.
Mit Assembler kann man eigentlich alles steuern und die Programme sind halt am schnellsten. ich sehe das als die "Königs" sprache für den Atari 8Bitter. Allerdings braucht man auch eine Zeit um die Assembler zu beherrschen. :roll:
Das Action! würde mich auch mal interressiern, ist aber denke ich mal auch nicht so verbreitet wie basic oder assembler.
Was willst du später denn Programmieren Demos, Spiele oder Anwendungen?

von tuxie » So 3. Mai 2009, 09:43
Hallo Cash,

ja die Forum und auch der aufbau von Action! ist sehr an C angelehnt oder umgekehrt man weiß es ja nicht :wink: . Habe mich da schon mal bissi eingelesen.

Ich habe mich auch schon mit dem C Compilern beschäftigt aber so richtig der Bringer sind die alle nicht auch der Cross Compiler cc65 ist nicht so das was ich mir vorgestellt habe da dort sehr viel an Befehlen und Möglichkeiten aus C garnicht drin sind und der Kompilierte Code nicht so optimal sein soll!! Bitte berichtigt mich wenn ich da was falsches erzähle.

Nunja Basic habe ich schon als Kind auf dem kleinen gelernt und dir Möglichkeiten sind da schon arg begrenzt wobei da Turbo Basic noch ne Möglichkeit wäre aber da lerne ich doch lieber Action! oder Assembler.

Re: Assembler oder Action!

von mp-one » So 3. Mai 2009, 11:21
tuxie hat geschrieben:Hi, ich bin am Überlegen mir eine Progiesprache aufm XL anzulernen da ich aus der AVR und Linux richtung viel in C mache dachte ich an Action! aber wäre nicht Assembler sinnvoller und was wäre schwieriger? TSchau Ingo


Hallo tuxie und cash,

meine Enschätzungen wären folgende:

- von der Verbreitung her sind sicherlich ATARI BASIC, Turbo Basic und Assembler die wichtigsten Sprachen auf dem ATARI.

- die schnellste und vielleicht beste Hoch-Sprache für den ATARI ist wohl Action!.

- eine schöne Lernsprache, mit der man aber auch was Vernünftiges machen kann ist Kyan Pascal

Bei all diesen Sprachen spielt, wenn man den ATARI richtig ausreizen will oder Teile eines Programms schnell genug werden sollen, Assembler eine wichtige Rolle.

Ich benutze zur Zeit Turbo Basic und schreibe mir kleine Routinen, wie. z.B. Invertieren einer Bildschirmzeile etc. in Assembler. Auch Kyan Pascal habe ich im Einsatz und auch hier kann man sehr gut Assembler-Routinen (Prozeduren) einbinden. Das gleiche gilt für Action!

Fazit aus meiner Sicht: um ein Prise Assembler kommt man auf dem ATARI nicht herum. Dazu dann eine Hochsprache wählen, die einem zusagt und möglichst mit vielen Konstellationen (SpartaDOS, BeweDOS, ...) funktioniert. Am besten vorher genau informieren, welche Besonderheiten die Sprachen mit sich bringen (Runtime Libraries, Einschränkungen in Sachen Speicher etc. ...).

Ein gutes Assemblerbuch ist z.B. das von P. Finzel. Kyan Pascal 2.0x hat ein sehr gutes Handbuch und für Action gibt es Dokus beim ABBUC.

Gruß,

Michael

von tuxie » So 3. Mai 2009, 18:05
Hi,

öhm naja Pascal ist nicht so mein ding auch eim PC oder ST nicht, ich denke ich werde mich wohl nun doch auf Assembler Stürzen. Ich hoffe doch das ich hier hilfestellungen von euch bekomme **ganzliebguck**

von Cash » So 3. Mai 2009, 18:18
Assembler zu lernen ist mit Sicherheit eine sehr gute Entscheidung. Es gibt ja ne menge Lesestoff darüber. Willst du denn was bestimmtes coden?
:P

von dl7ukk » Mo 4. Mai 2009, 07:01
Hallo,

Ich habe mich vor Jahren (ca 1992) mal eine kurze Zeit mit Assembler beschäftigt und war recht überrascht wie schnell man zu brauchbaren Ergebnissen kommt. Wenn man den A8 ein wenig kennt, mit Zahlensystemen) nicht auf Kriegsfuß steht ist es gar nicht so schwer.

von mp-one » Mo 4. Mai 2009, 10:50
tuxie hat geschrieben:Hi, öhm naja Pascal ist nicht so mein ding auch eim PC oder ST nicht, ich denke ich werde mich wohl nun doch auf Assembler Stürzen. Ich hoffe doch das ich hier hilfestellungen von euch bekomme **ganzliebguck**


Hi tuxie,

das mit Pascal ist echt auch Geschmacks- und Gewohnheitsache. Wenn ich am PC längere Zeit mit C/C++ oder C# gearbeitet habe, ist mir diese "knappe" Syntax sympatischer und wenn ich dann wieder ein Projekt mit Pascal und Delphi gemacht habe, finde ich die klare Struktur und Übersichtlichkeit von Pascal wiederum gut. Einen wirklich brauchbaren C-Compiler auf dem ATARI kenne ich allerdings auch nicht.

Mit Assembler hast Du im Grunde das Schweizer Messer für den ATARI in der Tasche. Dadurch lernt man auch automatisch den ATARI kennen, was auch unabdingbar ist, um vernünftig loszulegen. Die paar Befehle der Programmiersprachen alleine sind ja nur die halbe Miete. Aber soweit ich's mitbekommen habe, bist Du ja "Hardwarebastler" und solltest das System schon kennen.

Immer eine gute Adresse für Dokus ist http://www.atariarchives.org/, hier gibt es Infos zum ATARI sowie Bücher mit konkreten Anwendungen für Assembler und Basic-Programmierer. Die ABBUC-Infothek enthält auch so einiges.

Gruß,

Michael

von mp-one » Mo 4. Mai 2009, 10:52
dl7ukk hat geschrieben:Hallo,

Ich habe mich vor Jahren (ca 1992) mal eine kurze Zeit mit Assembler beschäftigt und war recht überrascht wie schnell man zu brauchbaren Ergebnissen kommt. Wenn man den A8 ein wenig kennt, mit Zahlensystemen) nicht auf Kriegsfuß steht ist es gar nicht so schwer.


Ja, und das OS des ATARI hilft ja auch bei vielen Dingen, wie Textausgabe etc. Mit einem Makroassembler sieht ein Programm dann fast wie BASIC aus, naja, fast ;)!

Gruß,

M.

von tuxie » Mo 4. Mai 2009, 11:16
Hallo,

hättet ihr denn irgndwo ein paar Tips für Tutorials? Muß mich natürlich noch mehr mit der Hardware des kleinen auseinandersetzen aber damit habe ich ja nun garkein Problem. :D

Tschau Ingo

von cas » Mo 4. Mai 2009, 13:51
Hi,

Assembler und ACTION! spielen in je einer anderen Liga und können nicht so recht verglichen werden.

Assembler ist nicht wirklich eine Programmiersprache, sondern "nur" eine menschenfreundliche Schreibweise der Maschinensprache. In Assembler muss man alles "zu Fuss" machen, bis man in Assembler produktiv sein kann vergehen schon mal einige Monate. Dafür kann man 6502 Assembler auf vielen Systemen nutzen (Atari 8bit, Apple 2, Apple 1, C64, VC20, Oric, BBC Micro, .....)

Meine Empfehlung für einen Assembler ist das Bibo-Assembler und die Kurse auf den Disketten des Compy-Shop Magazins (im ABBUC PD Shop)

* ACTION! ist eine Hochsprache ähnlich C. Wenn dir aber einige C Konstrukte schon im CC65 fehlen, dann wirst Du mit ACTION! auch nicht glücklich. Der generierte Code des ACTION! Compilers ist fast schon optimal, meistens kann man es in Assembler nicht besser schreiben. Dafür ist ACTION! eine Hochsprache, d.h. man schreibt


Code: Alles auswählen
Print "Hallo Welt"


und nicht

Code: Alles auswählen
00150 PRINT    PLA         fetch Return Address
00160          STA $D0     from Stack
00170          PLA         and save as
00180          STA $D1     pointer
00190 *
00200 INCP     INC $D0     increment Pointer
00210          BNE .1     
00220          INC $D1     
00230 .1       LDX #0      read char
00240          LDA ($D0,X) from Memory
00250          CMP #'@     End?
00260          BEQ ENDPR   yes==>
00270          JSR PUTCHAR print char
00280          JMP INCP    back to loop
00290 *
00300 ENDPR    LDA $D1     Push Pointer as
00310          PHA         new Return
00320          LDA $D0     Address to
00330          PHA         Stack
00340          RTS         continue Programm
00350 *            behind text!
00360 ------------------------------
00370 PUTCHAR  TAX         Print
00380          LDA $E407   Char
00390          PHA         with
00400          LDA $E406   Stack
00410          PHA         Method
00420          TXA
00430          RTS         JUMP
00440 ------------------------------


Das Atari Wiki --> atariwiki.org hat viele Beispiele in Assembler, ACTION! und anderen Sprachen.

Ciao

Carsten

P.S.: Habe ich schon FORTH erwähnt?

von tuxie » Mo 4. Mai 2009, 14:50
Oha, ein Hoch auf die Hochsprachen ich glaub ich bleibe da wohl doch bei C und Action!

von cas » Mo 4. Mai 2009, 15:52
Hallo,

ich möchte Dich ncht vollständig von Assembler abbringen. Für viele Programme am A8 braucht man Assembler Kentnisse (DLI, VBI, externes RAM ansprechen).

Ich programmiere geschwindigkeitskritische Teile in Assembler und andere Teile in einer Hochsprache. Gewisse Sachen wie Textausgabe oder Datei-IO ist in einer Hochsprache einfacher als in Assembler. Aber einige Sachen kann man aus einer Hochsprache nicht machen (wie DLI Programmierung), da braucht man dann Assembler-Teile die von der Hochsprache angesprochen werden.

von mp-one » Mo 4. Mai 2009, 18:36
cas hat geschrieben:Hallo,

ich möchte Dich ncht vollständig von Assembler abbringen. Für viele Programme am A8 braucht man Assembler Kentnisse (DLI, VBI, externes RAM ansprechen).

Ich programmiere geschwindigkeitskritische Teile in Assembler und andere Teile in einer Hochsprache. Gewisse Sachen wie Textausgabe oder Datei-IO ist in einer Hochsprache einfacher als in Assembler. Aber einige Sachen kann man aus einer Hochsprache nicht machen (wie DLI Programmierung), da braucht man dann Assembler-Teile die von der Hochsprache angesprochen werden.


Hallo,

irgendwo habe ich auch mal was zur DLI Programmierung mit Action gelesen. Das war interessant, da es nicht per eingebettete Assembler/Hex-Codes sondern richtig in der Action-Syntax war. Ich meine, das stand im ATARI-Magazin und war von P. Finzel.

Ansonsten ist es, glaube ichm sinnvoll, mit einer Hochsprache anzufangen und Teile in Assembler zu schreiben. Das hat den Vorteil, dass man sich viel Arbeit spart und Assembler anhand kleiner überschaubarer aber konkreter Aufgaben lernt. Ich für meinen Teil komme so wesentlich besser in eine Thematik rein, als wenn ich ein Lehrbuch durchackere und "konstruierte" Beispiele nachvollziehe.

Gruß,

Michael

von mp-one » Mo 4. Mai 2009, 18:50
tuxie hat geschrieben:Hallo,

hättet ihr denn irgndwo ein paar Tips für Tutorials? Muß mich natürlich noch mehr mit der Hardware des kleinen auseinandersetzen aber damit habe ich ja nun garkein Problem. :D

Tschau Ingo


Ohne Anspruch auf Vollständigkeit:

# Bücher und Dokus im Netz:

http://www.atariarchives.org/mapping/
http://www.atariarchives.org/dere/
http://www.strotmann.de/~cas/Infothek/DeReAtariDt/
http://www.strotmann.de/~cas/Infothek/ACTIONHandbuchDE/
http://www.strotmann.de/~cas/Infothek/MacSixFiveHandbook/

# ANALOG und ANTIC-Magazine:

http://www.atarimania.com/det_mag.php?MAG_ID=18
http://www.atarimania.com/det_mag.php?MAG_ID=20
http://www.pontarohbay.mydns.jp/~frank/analog_computing/index.html


# Bücher (gibt es ab und an bei eBay):

Das ATARI Profibuch
DATA Becker Peeks & Pokes
DATA Becker Tips & Tricks
DATA Becker ATARI Intern
Mein ATARI Computer

...

von tuxie » Mi 6. Mai 2009, 09:03
Danke für die vielen Tips, ich habe mich nun doch zu Assembler durch gerungen und mit mega-hz zusammen schon die erste Lektion dran genommen. Wenn man es erstmal verstanden hat scheint es garnicht so kompliziert. Und wegen dem Umfang kann man sich dann ja später Makros anlegen und verwenden.