Schlagwort-Archive: Atari Macro Assembler

Testbericht zum Mac 65 Assembler

Einen zeitgenössischen Artikel findet man da:

Craig Chamberlain / Compute! Ausgabe 43 / Dezember 1983 / 

Bildschirmfoto 2013-04-29 um 21.44.26

Assembler, frühe IDE, eine Auswahl

Werbung

MA65 Macro Assembler für Atari 8- Bit..

…vereint das beste aus dem Mac/ 65 und dem Atari Macho Assembler und wurde  speziell für Sparta Dos als Command Line Utility entwickelt.

Das File Image gibt es hier: ATARI8 Software Archive.

Das Image enthält Sparta DOS 3.2 , den Assembler  und einen passenden Editor: XEdit.

Kleiner Tip zum Einstieg in XEdit: Die „Help“- Taste wird auf dem Mac mit „PGDown“ ausgelöst.

MA65 in Aktion!

MA65 in Aktion!


Cross Developement….

.. ich weis nicht ob das Thema heute noch eine Rolle spielt. Wahrscheinlich tut es das nur noch im Kreise jener, die sich dem Erhalt des alten, geheimen Wissens über die 8-Bit Systeme und deren Programmierung verschrieben haben.

ATASM

Ein Cross Assembler. Selber Syntax wie der Mac / 65. Das DOS Binary und den Source gibt es hier:

ATASM Homepage

ATASM Homepage

Ein auf Mac OSX lauffähiges Binary findet sich dort:

On Platform Developement, das Gegenteil zum Cross Developement?

Nun ja, bis jetzt habe ich meine kleinen Projekte in 6502 Maschinensprache für die Atari 8- Bit Computer mit Hilfe des reichen Sortiments der damals erhältliche Assembler – quasi den Vorläufern der heutigen IDE’s – entwickelt. Auf einem Emulator, aber immerhin, mit original Software…

Der Gelegenheitsprogrammierer, mit wenig Geld, besaß in der Regel einen Computer, 64k Speicher und ein Diskettenlaufwerk, angeschlossen an den heimischen Fernseher. Im begrenzten Speicher musste das DOS und der Assembler seinen Platz finden. Der Quelltext und der erzeugte Objektcode fraßen noch mehr RAM.

Die Grenzen einer Solchen Entwicklungsumgebung waren und sind schnell erreicht. Detailliert habe ich das im Vergleich von Drei bekannten Assemblern beschrieben:

Eine detaillierte Übersicht zum Speichermanagement des MAC / 65 und des ATMASII findet sich hier:

Ein Professioneller Ansatz wird in einem Zeitgenössischen Artikel dort beschrieben:

Wer sehen möchte, wie man Damals aus Source ein ausführbares Binary gemacht hat, der kann sich das hier am Bespiel des Atari Makro Assemblers anschauen:

Cross Development

Um die oben beschriebenen Restriktionen zu umgehen, wurden wohl schon früh Techniken eingesetzt, die eine Wirtschaftliche und schnelle Programmentwicklung ermöglichten. Cross Assembler liefen auf Rechnern die mehr als das übliche Speichervolumen der Zielmaschinen besaßen und – im Idealfall – schneller waren.

Heute geht das noch genauso, nur eben einfacher. Die Zielmaschine ist ein Emulator und der schnelle Rechner der Mac oder PC auf dem der läuft. Einige moderne Cross Assembler/ Compiler findet sich hier:


Atari Macro Assembler, Beispiel Sitzung

Es sind  zwei Disketten Laufwerke im Einsatz.

Der Source befindet sich auf Laufwerk 2 (D2:Debug)

Der Assembler, der Editor und das sog. „SYSTEXT“- File liegen auf D1:
(Das Systext File enthält eine Sammlung von Symbol Deffinitionen – Equates-. Kann beliebig erweitert werden und lässt sich Quelltext- übergreifend verwenden)

Der Objektcode wird ab $A800 lauffähig sein.

Vorteil des Aufwandes: Der Source wird nicht im RAM assembliert, d.h. in diesem Fall direkt nach $A800 geschrieben, sondern als Objektfile auf Disk abgelegt! Prima Sache!

Weiterführendes, hier im Blog:

Wer mehr zum Thema Assembler auf dem guten alten Atari 8-Bit erfahren möchte, der gibt im Suchfeld einfach „Assembler“ oder „6502“ ein. Das war’s.

Atari Macro Assembler, erste Schritte….

Im folgenden eine kleine Zusammenfassung meiner Erfahrungen mit dem Programmpaket. Eine sehr gute Beschreibung findet sich unter http://www.mixinc.net/atari/amac.htm. weitere Informationen zu gängigen Assemblern für die guten alten Atari 8-Bit gibt es hier im Blog. Wer den Suchtext „Assembler“ eingibt, der findet sicher mehr.

Los geht’s

Editor

Atari Macro Assembler Editor
Start Bildschirm

Herausragendes Merkmal – vermutlich einzigartig in der „Atari Welt“ – ist  das der Editor größere Datenmengen verkraftet als das RAM eigentlich zulassen würde! Mehr dazu, wenn ich es getestet habe.

läßt sich wie jeder andere bildschirmorientierte Editor – z.B. der ATMASII Editor – bedienen.

Befehle erteilt man über Kommandos im Klartext im Kommandozeilen Modus (START Taste drücken).

Source- Text zeichnet sich dadurch aus, dass er vor dem jew. Mnemonic/ Label oder der Direktive jew. immer ein Lehrzeichen enthält.

Komandozeile:

Kommando im Klartext eingeben und die START- Taste zum ausführen drücken.

Wichtige Kommandos sind:

EXIT
speichert den aktuellen Textbuffer und verlässt den Editor.

SB /Suchtext/
„Suchtext“ suchen.

Assembler

Atari Macro Assembler

Filename eingeben und der Assembler startet. Gibt’s Fehler, dann zurück in’s DOS, Editor aufrufen und Fehler suchen.

Nach dem Filenamen lassen sich zahlreiche Optionen angeben. Die wichtigsten sind:

Assembler Optionen:

S=SYSTEXT
Bespiel:   D1:TEST.SRC S=D2:SYSTEXT S=D2:MYEQU
Assembliert TEST.SRC und benutzt die „EQUATES“ in der auf D2 gespeicherten SYSTEXT Datei. Es können mehrere SYSTEXT Files mit beliebigen Namen verwendet werden (max. 40 Stück). Vorteil: Klar, wenn die Equates in einer eigenen Datei liegen,dann können die auch für mehr als ein Projekte verwendet werden.

O=$A800
Legt die Startadresse des durch den AMAC generierten Objekt- Files fest. Damit wird erreicht, dass das File von DOS aus mit dem „L“ Befehl (Menü gesteuerte DOS’es) geladen werden kann (Start i.d.R. automatisch).

Syntax

Etwas unkonventionell. Wer den „Assembler Editor“ bzw. „den Mac/ 65 kennt“, der wird umdenken müssen! Einstiegshilfe:

High und Low Byte:
LDA #BILD:L

lädt normalerweise BILD/256 in den Accu. Im AMAC schaut das so aus:
LDA #LOW BILD
LDA #HIGH BILD

Operatoren fügt man so ein:
LDA #LOW [BILD+30]
LDA #HIGH [BILD+30]