xasm.atari.org

xasm is a 6502 cross-assembler. It is mainly targeted at Atari 8-bit computers, but it can be also used for programming Atari 2600/5200/Lynx, Commodore C64, Apple ][ and others. xasm is freeware.

Version 3.0.0 is a complete rewrite from the x86 assembly language to the D programming language. xasm is now available for Linux.

Features

Although xasm does not support user-defined macros, it has a rich set of built-in facilities.

Here is some typical 6502 code (also valid in xasm):

        lda #<dest
        sta ptr
        lda #>dest
        sta ptr+1
        ldx #192
do_line
        ldy #39
do_byte
        lda pattern,y
        sta (ptr),y
        dey
        bpl do_byte
        lda #40
        clc
        adc ptr
        sta ptr
        bcc skip
        inc ptr+1
skip
        dex
        bne do_line

And here is the same code rewritten in a xasm-specific way:

        mwa     #dest ptr
        ldx     #192
do_line
        ldy     #39
        mva:rpl pattern,y (ptr),y-
        lda #40
        add:sta ptr
        scc:inc ptr+1
        dex:bne do_line

Usage

Although xasm comes with no editor, the documentation describes integration (syntax highlighting and single-keystroke compilation) with a few general-purpose text editors. Here is a screenshot of the Code-Genie editor:

6502 code in Code-Genie

Download

FileSizeDescription
xasm-3.0.0-win32.zip 98 KBxasm 3.0.0 for Windows
xasm-3.0.0-linux.tar.gz 128 KBxasm 3.0.0 for Linux
xasm-3.0.0-src.zip 16 KBxasm 3.0.0 source code
xasm261.zip 25 KBxasm 2.6.1 for DOS/Windows
xasm252.zip 38 KBxasm 2.5.2 for DOS/Windows (includes X-BOOT, X-LOAD and X-HEAD)

Links


Hosted by Atari Area