mirror of
https://github.com/pfusik/xasm.git
synced 2025-03-22 06:30:34 +00:00
80 lines
2.8 KiB
HTML
80 lines
2.8 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
|
<head>
|
|
<title>xasm</title>
|
|
<meta name="Description" content="xasm is a 6502 cross-assembler for DOS/Windows."/>
|
|
<meta name="Keywords" content="xasm,6502,cross-assembler,atari"/>
|
|
<meta name="Author" content="Piotr Fusik"/>
|
|
</head>
|
|
<body style="background-color: #c0ffc0">
|
|
<h1>xasm.atari.org</h1>
|
|
<p><b>xasm</b> is a 6502 cross-assembler for DOS/Windows.
|
|
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.
|
|
<b>xasm</b> is freeware.</p>
|
|
<p><a href="xasm260.zip">Download version 2.6.0
|
|
(22 KB, includes full documentation)</a></p>
|
|
<p><b>xasm</b> no longer includes the tools X-BOOT, X-LOAD and X-HEAD.
|
|
If you really need them,
|
|
<a href="xasm252.zip">download version 2.5.2 (38 KB)</a>.</p>
|
|
<h3>Target audience</h3>
|
|
<p><b>xasm</b> is for people who are fluent in the 6502 assembly language.
|
|
There is no sample code for beginners, no easy-to-use libraries.
|
|
You are warned that programming 8-bit machines in the assembly language
|
|
is a tedious work.</p>
|
|
<p>There are several 6502 cross-assemblers to choose from and new ones
|
|
still appear. Just search the web. Make sure to not overlook
|
|
the <a href="http://www.cc65.org">cc65</a> compiler which includes
|
|
a cross-assembler, portable across many host and target platforms.</p>
|
|
<h3>Features</h3>
|
|
<p>Although <b>xasm</b> does not support user-defined macros, it has a rich
|
|
set of built-in facilities.</p>
|
|
<p>Here is some typical 6502 code (also valid in <b>xasm</b>):</p>
|
|
<pre>
|
|
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
|
|
</pre>
|
|
<p>And here is the same code rewritten in a xasm-specific way:</p>
|
|
<pre>
|
|
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
|
|
</pre>
|
|
<h3>Usage</h3>
|
|
<p>Although <b>xasm</b> 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 <a href="http://www.code-genie.com">Code-Genie</a> editor:</p>
|
|
<p><img src="cgenie.gif" alt="6502 code in Code-Genie"/></p>
|
|
<hr/>
|
|
<p><i>Hosted by <a href="http://atariarea.histeria.pl">Atari Area</a></i></p>
|
|
</body>
|
|
</html>
|