¢Hallo und Willkommen zur 2. Folge des¢Assembler Kurses.¢¢Heute wollen wir uns naeher mit dem¢Assembler beschaeftigen.¢Was ist ein Assembler ? : Ein Assembler¢ist ein Uebersetzungsprogramm. Es¢uebersetzt ein vorher eingegebenes oder¢geladenes Programm (in Mnenonics) in ¢den ML Code. Einige der Mnenonics haben¢wir ja schon auf der letzten Clubdisk¢erklaert. Der Assembler besteht aus ¢folgenden Teilen:¢¢1. Der Editor : Hier kann man Pro-¢ gramme erstellen und¢ redigieren.¢¢2. Der Assembler : Er uebersetzt den¢ Quelltext aus dem¢ Editor in ML Code¢¢3. Der Debugger :¢ Der Debugger ist ein wichtiger ¢ Bestandteil eines Assemblers. Mit¢ ihm kann man Programme auf Fehler¢ pruefen und testen.¢ Leider koennen wir nicht auf jeden¢ Debugger eingehen, den es fuer Atari¢ Computer gibt. Da wir fuer Anfaenger¢ in Maschinensprache aber den Atari¢ Assembler empfehlen, da dieser¢ am Anfang einfacher zu verstehen ist¢ als der Mac65, werden wir auch nur ¢ diesen beschreiben.¢ Spaeter werden wir auf die Vorzuege¢ des Mac65 eingehen.¢¢Der Editor:¢¢Nach dem Laden des Atari Assemblers¢oder der Initialisation des Moduls,¢erscheint "EDIT" auf dem Bildschirm.¢Nun koennen wir unser Programm ein-¢geben:¢10 *=$0600 ; STARTADRESSE=1536¢20 LDA #0¢30 STA 710¢40 BRK ; BREAK(=STOP)¢¢Aehnlich wie in Basic muessen auch hier¢Zeilennummern eingegeben werden.¢Es ist aber darauf zu achten, dass ¢zwischen Zeilennummer und Befehl immer¢2 Leerraeume sind.¢In der 1.Folge haben wir ja schon ge-¢lernt , was Labels (Marken) sind.¢Das Programm koennte so abgeaendert¢werden:¢10 *=$0600¢20 LDX #0¢30 LOOP STX 710¢40 INX¢50 BNE LOOP¢60 BRK¢¢Hier sehen wir, dass zwischen Zeilen-¢nummer und Label nur 1 Leerraum ist.¢Ausserdem muss darauf geachtet werden,¢dass ein weiterer Leerraum den Befehl¢vom Label trennt, da der Assembler¢sonst "durcheinander" kommen koennte...¢¢Es folgt ein Demozeile:¢¢10 LABEL LDA #$FF ; KOMMENTAR¢ ^ ^ ^ ^¢¢Die "^" bedeuten, dass dort ein Leer-¢raum sein muss.¢Das ";" ist uebrigens ein Trennzeichen.¢Alles was nach diesem Zeichen in der¢Zeile steht, wird nicht assembliert.¢Es waere also aehnlich dem "REM" Befehl¢in Basic.¢¢Der Label kann auch weggelassen werden.¢Dann muessen jedoch, wie schon gesagt,¢2 Leerreaume den Befehl von der Zeilen-¢nummer trennen.¢Fuer den Label kann man beliebige Namen¢einsetzen (z.B.:ZAP,MARKUS,DAVID,¢ATARI1, ATARI123 u.s.w....)¢¢Editiert werden kann natuerlich genauso¢wie in Atari Basic.¢¢Der Editor hat natuerlich noch viele¢andere Funktionen, die wir aber noch¢erleutern werden@¢