Gibt es ein Buch mit der ACME Syntax?

Es gibt 21 Antworten in diesem Thema, welches 8.174 mal aufgerufen wurde. Der letzte Beitrag (29. Juli 2020 um 11:28) ist von syshack.

  • Hallo zusammen,

    gibt es ein Buch dass von der Syntax her kompatibel ist zum ACME, oder evtl. auch eines anderen modernen Cross-Assemblers?
    Die Syntax von z.B. "Assembler ist keine Alchemie" unterscheidet sich ja schon recht stark vom ACME.
    Das ganze trifft auch auf die von mir im Internet gefundenen Tutorials zu.
    Ich hab kein Problem wenn es eine Hand voll Unterschiede gibt. Die lass ich mir dann auch gerne hier erklären. ;)

    Als blutiger Assembler-Anfänger, der mit Abstrakten Sachen :anonym so seine liebe Not hat ist es ohne ein ordentliches Buch schwer da irgendwie reinzukommen.

  • Die Syntax von z.B. "Assembler ist keine Alchemie" unterscheidet sich ja schon recht stark vom ACME.

    Inwiefern?
    Es ist schon eine Weile her, dass ich den 64er-Assemblerkurs von Heimo Ponnath gelesen habe, aber soweit ich mich erinnere, konzentriert er sich auf die CPU-Mnemonics; nicht auf Assembler-spezifische Pseudo Opcodes. Soll heißen, die Syntax von Beispielen wie

    Code
    lda #0
            sta $d020
            rts

    ist eh immer dieselbe. Oder vergleichst Du evtl. den Disassembler-Output eines Monitors (d.h. links Hexwerte, rechts Mnemonics) mit einem reinem Assemblerlisting (also nur Mnemonics)?

    Kurz gesagt: Es ist viel einfacher, als es Dir jetzt vielleicht vorkommen mag. ;)
    Die Unterschiede zwischen verschiedenen Assemblern sind tatsächlich immer nur eine Handvoll, und für den Anfänger erst einmal unerheblich.

    Yes, I'm the guy responsible for the Bitte melde dich an, um diesen Link zu sehen. cross assembler. And some Bitte melde dich an, um diesen Link zu sehen..

  • Hab das hier aus dem Internet und das geht so ohne Änderungen schon mal nicht:

  • Ja, weil in Zeile 29 ein Pseudo Opcode steht (".TEXT"), und in ACME heißt das Äquivalent "!scr". Es gibt auch "!text", aber der Rest des Sourcecodes deutet darauf hin, dass hier Screencodes gefragt sind und keine PetSCII-Codes.
    Mit dieser Änderung zieht ACME den Source ohne Fehler durch - nur bringt Dir das nicht viel, denn Zeile 27 wird Dir den Tag versauen: "JMP $9000" ergibt nur einen Sinn, wenn im Speicher des C64 ein Assembler sitzt (vermutlich Turbo Assembler).

    Wenn Dir der Stil von "Assembler ist keine Alchemie" zusagt, dann benutz vielleicht erst einmal die dort erwähnten Tools (SMON?) - sobald Du die Grundlagen drauf hast, kannst Du dann zu komfortableren Tools wechseln, und dann kannst Du auch selbständig Sources aus dem Internet adaptieren.

    Yes, I'm the guy responsible for the Bitte melde dich an, um diesen Link zu sehen. cross assembler. And some Bitte melde dich an, um diesen Link zu sehen..

  • Ja, das ist der SMON mit dem Buch (habe es auch gekauft).
    Mir hat erstmal das Bitte melde dich an, um diesen Link zu sehen. geholfen.

    ___________________________________________________________
    Meine Kreationen: Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen.
    | Bitte melde dich an, um diesen Link zu sehen.
    Avatar: Copyright 2017 by Saiki

  • Zu verstehen warum manche Dinge NICHT gehen ist aber extrem hilfreich beim Verstaendnis!
    Daher rate ich auch stets zu low-level assemblern (oder gar Monitor) als Einstieg, sonst begreift man z.B. nie den Unterschied zwischen ASCII, PETSCII und PETSCREEN.

    Bitte melde dich an, um diesen Link zu sehen.
    Bitte melde dich an, um diesen Link zu sehen.
    Bitte melde dich an, um diesen Link zu sehen.

  • Ich bin auch gerade wieder dabei mein Assembler-Wissen (absolute Beginnerstufe) wieder aufzufrischen. Nutze hierfür den Vice Monitor und denke auch das dies die beste Möglichkeit ist, das Programmieren des C64 zu lernen. Jedenfalls ist dies für mich so. Assembler sind dann später für große Projekte eine gute Wahl. Aber ich muß gestehen, zur Zeit bin vom Vice-Monitor sehr angetan.

    Wer schreit, denkt nicht !

    Bitte melde dich an, um diesen Link zu sehen.

  • Ohh, da hat einer wirklich den Wiki-Text von mir gelesen..
    Da fehlt noch eine Menge. :( Ich muss mal wieder Zeit dafür finden.

    Rechtschreibfehler usw. nehme ich gerne an und verbessere diese. Genauso auch fachliche Fehler,

    Gruß Höp,

    8 Bit sind genug, sonst komme ich morgens nicht aus dem Bett. %)

    „Nous sommes dans un pot de chambre et nous y serons emmerdés.“
    („Wir sitzen in einem Nachttopf und wir werden darin zugeschissen werden“)
    2.9.1870, Auguste-Alexandre Ducrot

    Bitte melde dich an, um diesen Link zu sehen.Bitte melde dich an, um diesen Link zu sehen. The home of ACME win32 compile.

  • Zitat

    Die Unterschiede zwischen verschiedenen Assemblern sind tatsächlich immer nur eine Handvoll, und für den Anfänger erst einmal unerheblich.


    Full ack.

    Außer !tx, !byte, !bin, evtl. noch !fill und ";" (<- wenn man das zählen will) fand ich die Pseudo-Opcodes noch nie besonders wichtig. Denke eher, es ist kontraproduktiv, als Anfänger weitere OpCodes unbedingt benutzen zu wollen.

    Als Nachschlagewerk empfehle ich das hier:
    Bitte melde dich an, um diesen Link zu sehen.
    Dazu als OpCode Tabelle das hier:
    Bitte melde dich an, um diesen Link zu sehen.
    und als Codeschnipselfundgrube das:
    Bitte melde dich an, um diesen Link zu sehen.

    Klar ist es als Anfänger nervig, wenn Beispiele auf Codebase oder hier im Forum in einem anderen Assemblerdialekt stehen wie z.B. KickAss, aber beim Compilieren in ACME findet man recht schnell heraus, dass auch hier lediglich die Pseudo-OpCode-Unterschiede blockieren.

  • Klar ist es als Anfänger nervig, wenn Beispiele auf Codebase oder hier im Forum in einem anderen Assemblerdialekt stehen wie z.B. KickAss, aber beim Compilieren in ACME findet man recht schnell heraus, dass auch hier lediglich die Pseudo-OpCode-Unterschiede blockieren.

    wieso gibts überhaupt soviele unterschiedliche Syntaxen ? Kommt doch eigentlich im Idealfall der gleiche MaschinenCode raus ... Für die Einen (die Profis) isses die goldene Vielfalt - für mich isses nur nervig, jedesmal umzudenken.

    Ich bin in den 90´ern mit dem Monitor der ActionReplay angefangen, fremden Code zu lesen/umzubauen :anonym und hab versucht, das alles zu verstehen - so lernt man eigentlich am meisten und im Monitor gibts nur eine Syntax - die Richtige :) (illegale Opcodes mal ausgenommen ...)

    Nur Coden macht im Monitor natürlich wenig Spaß - einfach zuviele JMP´s :whistling:
    Nach jahrelanger "Erfahrung" mit Lesen im Monitor mußte ich dann erstmal wieder lernen, mit Labels, Macros und anderen Assembler-"Schnickschnack" umzugehen. Heute bin ich froh, daß ich beide Welten besucht hab, denn das hilft beim Coden und debuggen - egal ob im Emulator oder im C64 - das "Handwerk" funzt bei beiden immernoch prima ^^

    Heute ist das Leben mit Vice+Monitor, Cross-Assemblern/Disassemblern/Packern natürlich viel leichter und das Coden/Debuggen geht um Welten schneller (solange das die eigene Birne zulässt - ich hab da manchma so Probleme mit :whistling: )

    Viele Grüße,
    GI-Joe
    Bitte melde dich an, um diesen Link zu sehen. * Bitte melde dich an, um diesen Link zu sehen. * Bitte melde dich an, um diesen Link zu sehen. * Bitte melde dich an, um diesen Link zu sehen. * Bitte melde dich an, um diesen Link zu sehen. * Bitte melde dich an, um diesen Link zu sehen.

  • wieso gibts überhaupt soviele unterschiedliche Syntaxen ?

    Das kommt daher, daß jede Firma ihre eigene Syntax für ihre Assembler verwendete (teilweise waren die auch rechtlich geschützt), und zwar schon vor der Microprozessor-Ära. Und wer einen Assembler für den 64er schreibt, nimmt halt die Pseudo-Ops, die er kennt- oder die er für besonders geeignet hält. Spätestens mit den Universal-Assemblern für mehrere Prozessoren kam dann auch schonmal die Intel-Syntax für Hex-Zahlen ins Spiel, udn der 8502-Assembler aus dem 128er-CP/M-Sourcecode mußte die komplette Adressierungsarten--Syntax umstellen, um mit dem DRI-Assembler-Macroformat kompatibel zu sein...

    KI-Verwendung in diesem Posting: Rechtschreibkontrolle des Browsers.
    Abweichungen aufgrund des technischen Fortschritts oder individueller Vorlieben vorbehalten.

  • Mal so am Rande erwähnt. Für Anfänger eignet sich auch gut die Seite Bitte melde dich an, um diesen Link zu sehen.. Jörn hat da sehr ausführlich alles beschrieben und benutzt dafür aktuelle Tools unter Windows.

    Gruß!
    ThomBraxton

  • ich empfehle für Anfänger das Buch Machine Language von Jim Butterfield

    ist für mich eines der bestern Bücher über Assembler / Maschinensprache auf 8-bit CBM Computern

    Bitte melde dich an, um diesen Link zu sehen.

  • ich empfehle für Anfänger das Buch Machine Language von Jim Butterfield

    ist für mich eines der bestern Bücher über Assembler / Maschinensprache auf 8-bit CBM Computern

    Bitte melde dich an, um diesen Link zu sehen.


    Weiß jemand ob es von diesem Buch eine deutsche Version gibt (wenn ja wo)?

    Wer schreit, denkt nicht !

    Bitte melde dich an, um diesen Link zu sehen.


  • Weiß jemand ob es von diesem Buch eine deutsche Version gibt (wenn ja wo)?


    Ja, auf der Deiner (und Docs) Internetplatte in einigen Scan-Versionen unter:
    ..\Bücher\Commodore 8 Bit\C64\Maschinenorientierte C64-Programmierung.pdf

    Hanser Verlag, Jim Butterfield: Butterfield's Lehrbuch der Maschinen- und Assemblersprache für alle Commodore Computer

    Wieso muss ich Dir sagen, was Du auf Deiner Platte hast?!? ^^

    <Edit> Das ist schon etwas doof. Man sieht in den Filenamen oft weder Autor noch Verlag an.
    <Edit2> Es gibt im Englischen zwei Revisionen des Buches (allerdings weiss ich nicht wie es mit der Deutschen Version ist):

    • 1984: Machine Language for the Commodore 64 and Other Commodore Computers
    • 1986: Machine Language for the Commodore 64, 128, and Other Commodore Computers. Revised & Expanded Edition

    ___________________________________________________________
    Meine Kreationen: Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen.
    | Bitte melde dich an, um diesen Link zu sehen.
    Avatar: Copyright 2017 by Saiki


  • Ja, auf der Deiner (und Docs) Internetplatte in einigen Scan-Versionen unter:
    ..\Bücher\Commodore 8 Bit\C64\Maschinenorientierte C64-Programmierung.pdf

    Hanser Verlag, Jim Butterfield: Butterfield's Lehrbuch der Maschinen- und Assemblersprache für alle Commodore Computer

    Wieso muss ich Dir sagen, was Du auf Deiner Platte hast?!? ^^

    Das ist schon etwas doof. Man sieht in den Filenamen oft weder Autor noch Verlag an.
    Es gibt im Englischen zwei Revisionen des Buches (allerdings weiss ich nicht wie es mit der Deutschen Version ist):

    • 1984: Machine Language for the Commodore 64 and Other Commodore Computers
    • 1986: Machine Language for the Commodore 64, 128, and Other Commodore Computers. Revised & Expanded Edition


    Hehe ! Danke! Da hätte ich natürlich auch zuerst suchen müssen! Manchmal kommt man nicht auf die einfachsten Sachen!!!!! (oder besser gesagt ich werde alt)

    Wer schreit, denkt nicht !

    Bitte melde dich an, um diesen Link zu sehen.

  • Der Thread hier ist uralt .. gibt es den Link noch zum Butterfields Standardwerk auf Deutsch? Was ist Docs Internetplatte?

    Konnte mit google leider keinen Treffer für den Filenamen finden (nur den Verweis hierher :smile: ). Als Buch kann ich das auch nicht kaufen (gebraucht). Wäre um einen Hinweis dankbar, auch gerne als PM.

  • Ist immer noch in der Wolke (ehemals Doc's Wolke) im gleichen Pfad.

    ___________________________________________________________
    Meine Kreationen: Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen.
    | Bitte melde dich an, um diesen Link zu sehen.
    Avatar: Copyright 2017 by Saiki

  • Hervorragendes Anfänger-Buch, kann ich bestätigen. Und Butterfield empfiehlt ebenfalls den Einstieg mit Monitor statt Assembler, da man so leichter dahinter

    steigt, wo was warum plötzlich im Speicher liegt.

    Hatte mal einen ersten Versuch in Maschinensprache mit irgendeinem Data Becker Buch gestartet, ging voll daneben, weil gleich am Anfang viel zu komplex und mit allen möglichen Adressierungsarten um sich geworfen wurde, bevor die erste Befehlsfolge überhaupt geschrieben wurde.

    Hätte ich nur schon vor 25 Jahren gewusst, dass das alles kein Hexenwerk ist... Aber Teenager-Gehirne sind halt mit wichtigeren Dingen beschäftigt 8o