Dies ist eine alte Version des Dokuments!
Arnold-Assembler
Die meisten meiner Assembler-Programme sind mit dem Arnold-Assembler übersetzbar. Der Assembler von Alfred Arnold ist ein universeller Makro-Cross-Assembler für eine Vielzahl von Mikroprozessoren und -Controllern. Außerdem ist er komplett kostenlos.
Allerdings erzeugt der Arnold-Assembler erzeugt nicht direkt Binär-Dateien oder auch Hex-Dateien, sondern *.p-Zwischencode-Dateien. Diese müssen mit einem weiteren Programm p2bin.exe erst zu einer Binär-Datei umgeformt werden.
Deswegen liegt in den Downloadpaketen oft eine kleine Batch-Datei as.cmd bei, mit der ein Assemblerquelltext in eine Binärdatei umgewandelt wird:
as.exe -cpu Z80 -L file.asm p2bin.exe -r $-$ file.p del file.p
Makros
Beispiele:
; ich möchte im Arnold-Assembler für Z80-Code Zeichenketten Byte für Byte mit ; 0A8h XOR-verknüpfen, also statt ; DB CR,"Test",0 ; die Bytefolge A5, FC, CD, DB, DC, A8 erzeugen. cpu z80 CR equ 0dh DX macro X,{NOEXPAND} IFNB X if EXPRTYPE(x) = 2 irpc y,x DB 'Y' ! 0A8h ENDM else DB (X) ! 0A8h endif shift DX ALLARGS endif endm ; Codierte Texte erzeugen: DX CR,"Test",0 end
s.a. FORTH für den KC85/2-4, dort gibt es ein umfangreicheres header-Makro, das den FORTH-Header erzeugt.