Hallo,
kurz vorneweg: ich habe im Alter zwischen 9-14 den C64 intensiv benutzt und damals leider nie Maschinensprache gelernt. Heute mit 47 Jahren will ich das nachholen (man munkelt, dass es da noch weitere "Verrückte" geben soll). Ich habe mir den 64er Assembler-ist-keine-Alchimie Kurs besorgt und meine ersten Gehversuche gemacht. Soweit so gut. Ich nutze im Moment S-MON. Ich habe festgestellt, dass ich bestimmte Programme in Basic schreiben kann, die ich aber (noch) nicht in Assembler formulieren kann. Einfaches Bespiel: ich möchte die Zeichenfolge "ABCDEF" auf den Bildschirm plotten. In Basic kein Problem:
10 x=1024
20 for i=1 to 10
30 poke x+i,i
40 next
Erste Frage: In Assembler könnte ich natürlich auch die o.g. Zeichenkette hinbekommen (über eine Kette von LDA/STA Befehlen: LDA#$01 STA0400 LDA#$02 STA0401 ...) - aber ich frage mich, ob das nicht auch eleganter ginge (so wie in der Basic Schleife)? Meine Versuche über INC sind bisher leider fehlgeschlagen - die Bildschirmposition des zu printenden Zeichens kriege ich gut verändert - aber nicht den Akkumulator-Inhalt.
Zweite Frage: Ich habe gedacht, dass ich mir mein BASIC Programm einfach mal über SMON in assemblierter Form anschauen könnte und dann sehe ich ja, wie ich es hinbekomme. Allerdings finde ich mein BASIC Programm nicht wirklich im Speicher. Ich habe an Adresse 0801 geschaut. Mit dem SMON Befehl "M 0801", sehe ich auch was, was mein Programm darstellt (richtig?). Aber ich sehe keine "Übersetzung" in Maschinensprache. Wahrscheinlich verstehe ich noch zu wenig, aber ich frage Euch mal: Kann ich irgendwo im Speicher eine in Maschinensprache übersetzte Version meines BASIC Programms finden? Falls ja, wo denn?
Mit Bitte um Nachsicht für mein begrenztes Wissen
Thx und greetz
Michael