DASM Crashkurs?

Es gibt 12 Antworten in diesem Thema, welches 2.865 mal aufgerufen wurde. Der letzte Beitrag (30. September 2005 um 13:30) ist von tecM0.

  • Hi,

    ich fange gerade mit DASM an und bräuchte ein wenig Hilfe.
    Ok, von ASM verstehe ich zwar gar nichts, aber muss auch nur kleinigkeiten machen, so wäre es mir recht
    wenn's was im Netz (auf Deutsch) über DASM zu lesen gäbe, also was auch (fast) jedes kindergarten-Kind
    verstehen würde.

  • Hab mir schon fast gedacht, dass niemand was weiß (oder wissen will) :)

  • Jeder Compiler hat seine Eigenheiten. DASM wird imo nicht so oft verwendet, daher hat sich wohl niemand gemeldet.
    Insgesamt ist Assembler aber sehr einfach und wenn man sich mal an die Schreibweise des Compiler gewoehnt hat, ist das alles nicht so problematisch.

    Ich verwende ACME. Daher kann ich Dir mit DASM nur bedingt helfen. Ich habe mir mal einen Source angesehen : der verwendet scheinbar relative Sprungmarken in Subroutinen.
    $0,$1 usw. habe ich sonst noch nie gesehen. Die Byte-Anweisung ist auch anders : "DC.B". Bei Acme ist das "!Byte" und bei 64tass iirc ".Byte".
    Darauf musst Du achten, wenn Du einen anderen Source verwenden moechtest. Diese Anweisungen sind bestimmt in einer Anleitung zu finden ?

    Grundlegend brauchst Du ein gut dokumentiertes ROM-Listing und einen kleinen Kurs. Ich wuerde das nicht am Compiler festmachen. Du willst ja Assembler lernen und der Compiler ist nur ein Werkzeug.

    Wenn dann konkrete Probleme auftreten, wird Dir sicher jemand helfen koennen.

    Gruesse
    Michael

    If we're evil or divine - we're the last in line. - Ronnie James Dio (1984) -
    Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen. |

  • Zitat

    Original von cbmhardware
    Grundlegend brauchst Du ein gut dokumentiertes ROM-Listing und einen kleinen Kurs. Ich wuerde das nicht am Compiler festmachen. Du willst ja Assembler lernen und der Compiler ist nur ein Werkzeug.
    l


    *100% zustimm* Im Netz gibts sicher genügend gute Kurse. Auf den Magic Disks der Jahrgänge 94 und 95 ist auch irgendwo ein sehr guter mehrteiliger ASM-Kurs mit vielen Beispielen zu finden.
    Wenn Du lieber ein echtes Buch in der Hand hältst, empfehle ich das "Das neue Commodore 64 intern" von Data Becker. Das enthält einen guten Kurs, und ein vollständiges kommentiertes ROM-Listing ist auch noch drin. :)

    CU
    Kratznagel

  • Zitat

    Original von cbmhardware
    der verwendet scheinbar relative Sprungmarken in Subroutinen.

    echt..??! cool, so was such ich schon lange ;) hab DASM zwar auf der Festplatte schlummern, aber bisher immer mit ACME gearbeitet; muss ich mir wohl doch nochmal genauer ansehen, das gute stück...

    zum thema kann ich nur meinen Vorrednern zustimmen; erst mal bissl ASM allgemein lernen (da würde ich sogar fast empfehlen, mit Turbo Assembler o.ä. am C64 selbst anzufangen, bevor du dich noch mit den verschiedenen Eigenheiten von Cross-Compilern befasst) und dann den Compiler deiner Wahl suchen/finden...

    Anleitungen lesen hilft auch immer viel ;) Steht eigentlich meistens alles drin. Und bei speziellen Fragen kann dir sicher besser geholfen werden, als jetzt allgemein über DASM was loszuwerden.

  • Zitat

    Original von hannenz

    echt..??! cool, so was such ich schon lange ;)

    Hehe. Ich meinte natuerlich in jedem Sub die selben Marken. Daran brechen sich andere Compiler "die Beine".

    Gruesse
    Michael

    If we're evil or divine - we're the last in line. - Ronnie James Dio (1984) -
    Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen. |

  • Zitat

    Hehe. Ich meinte natuerlich in jedem Sub die selben Marken. Daran brechen sich andere Compiler "die Beine".

    ACME kann das auch per .ZONE und .SUBZONE ... verwende ich aber kaum.

    kommt es nur mir so vor oder sind die fehlermeldungen des ACME meisten
    "fürn a****"? manchmal zeit der sachen in zeilen an in denen kein fehler ist.
    wenn man nicht nach jeder zeile testweise assembliert kann das schon ganz
    schön nerven. darum überlege ich gerade auf dem TASS umzusteigen. der zeigt
    zwar die fehler 1A an aber dafür keine segmentgrösse usw. :(


    T.

  • ach so, also einfach lokale labels, klar, das mach ich mit ACME immer (!zone)
    aber es gibt doch auch assembler die sowas zulassen in der Art:

    hab ich irgendwo mal gesehen. Komt das jemandem bekannt vor. Also das man die labels nicht benennen muß sondern einfach markiert und dann eben angibt wie viele labels vor- oder rückwärts man springen will/ adressiert, sonstwas...
    das fände ich doch sehr schick!
    (Ob das jetzt das "#" zum markieren weiß ich nicht mehr, ist ja auch egal, irgendeine Markierung eben...)

    @tecmo: bei mir kommt es immer zu falschen Zeilenangaben bei ACME-Fehlermeldungen, wenn ich den Code-Text irgendwoher importiert habe, also z.B. vom C64/ TurboASS mit 'write' ein SEQ gemacht, aufn PC geschoben und dann im Relaunch eingefügt. Wahrscheinlich sind da irgendwelche Linefeeds/ CR's oder so dann falsch... wenn ich von vorne anfang am PC was mit Relaunch/ ACME zu coden, stimmen die Zeilenangaben immer; mir ist das nämlich auch schon oft unangenehm aufgefallen, so daß ich mal darauf geachtet habe...

  • Also diese Methode finde ich nicht sooo klasse, ich hab lieber Labelnamen wo ich nach nem Monat noch weis was ich da eigentlich verzapft habe.

    EDIT: Und latürnicht reger Gebrauch von ; , das sollte sich aber von selbst verstehen ;)

    Blog: Bitte melde dich an, um diesen Link zu sehen. - The Seventies Board: Bitte melde dich an, um diesen Link zu sehen. Bitte melde dich an, um diesen Link zu sehen.

    Ein Terminal und ein Z80 :D

    Einmal editiert, zuletzt von BastetFurry (30. September 2005 um 02:09)

  • @hannenz: danke für den tipp. daran wird es liegen. diese "wilden" zeichen
    stören auch an vielen anderen stellen :\

    @bastelFurry: bau mal bitte mit dem basic ein tool zum "cleanen" von ACME sources, danke! :D

    T.

  • BastetFurry: Ja - man kann ja seine Routinen dennoch ganz normal mit Labelnamen versehen, das ganze ist eher nützlich für Schleifenlabels etc.: ständig irgendwelche loops zu betiteln nervt mich ganz gewaltig; solche labels haben ja keine Aussagekraft (loop123 oder lp99,done,skip,exit usw.) und verwirren eher, als daß sie etwas aussagen. So kann Code durchaus übersichtlicher werden. Klar, Schlüssel-Labels werden weiterhin aussagekräftige Namen bekommen!

    Also ich hätte echt Interesse an so einem Assembler... wenn ich doch nur noch wüßte, wo ich das mal gesehen habe.... Wer's weiß bitte melden!

  • Zitat

    Original von tecM0
    @bastelFurry: bau mal bitte mit dem basic ein tool zum "cleanen" von ACME sources, danke! :D

    Getz mal was genauer, watt?!?

    @hannenz:
    Ja ok, wenn man es als eine Art do:loop ansieht dann machts Sinn.

    Blog: Bitte melde dich an, um diesen Link zu sehen. - The Seventies Board: Bitte melde dich an, um diesen Link zu sehen. Bitte melde dich an, um diesen Link zu sehen.

    Ein Terminal und ein Z80 :D

  • Zitat

    Original von BastetFurry

    Getz mal was genauer, watt?!?

    ich brauche ein tool das eine quelltextdatei so säubert das alle "illegalen" zeichen rausfliegen und nur normale ASCII's, zeilenumbrüche und TABs übrig bleiben.

    ich werde mir mal dein BASIC ansehen und was zusammenschrauben...mal sehn!


    gruss,
    tecM0