mirror of
https://github.com/pfusik/xasm.git
synced 2025-01-04 07:31:48 +00:00
Reword README slightly.
This commit is contained in:
parent
061088aa62
commit
ef297a78c7
15
README.md
15
README.md
@ -8,11 +8,10 @@ for [Atari 8-bit computers](http://en.wikipedia.org/wiki/Atari_8-bit_family).
|
|||||||
Syntax
|
Syntax
|
||||||
------
|
------
|
||||||
|
|
||||||
6502 assembly language is full of LDA, STA, LDA, STA sequences.
|
6502 assembly code is full of LDA, STA, LDA, STA sequences.
|
||||||
With xasm you can use MVA as a shortcut for an LDA/STA pair or even MWA for 16-bit transfers.
|
With xasm you can use MVA as a shortcut for an LDA/STA pair or even MWA for 16-bit transfers.
|
||||||
You can avoid defining labels when you need short jumps,
|
Short branches can be replaced with conditional skip and repeat pseudo-instructions.
|
||||||
thanks to conditional skip and repeat pseudo-instructions.
|
You can use a pair of instructions with a shared argument.
|
||||||
You can put two instructions that share their argument in one line.
|
|
||||||
These are just some of the features that help you program in a more concise way.
|
These are just some of the features that help you program in a more concise way.
|
||||||
Let's look at typical 6502 code (which is also valid in xasm):
|
Let's look at typical 6502 code (which is also valid in xasm):
|
||||||
|
|
||||||
@ -45,13 +44,13 @@ Using xasm's features this code can be rewritten to:
|
|||||||
do_line
|
do_line
|
||||||
ldy #39
|
ldy #39
|
||||||
mva:rpl pattern,y (ptr),y-
|
mva:rpl pattern,y (ptr),y-
|
||||||
lda #40
|
lda #40
|
||||||
add:sta ptr
|
add:sta ptr
|
||||||
scc:inc ptr+1
|
scc:inc ptr+1
|
||||||
dex:bne do_line
|
dex:bne do_line
|
||||||
|
|
||||||
xasm syntax is based on 1990's Quick Assembler.
|
xasm syntax is an extension of Quick Assembler's (created in 1991 for Atari 8-bit).
|
||||||
Write accumulator shifts as in `asl @`.
|
Accumulator shifts should be written as in `asl @`.
|
||||||
Whitespace is important: it is required before the instruction
|
Whitespace is important: it is required before the instruction
|
||||||
and disallowed in the operands, because it separates a comment from the operand, e.g.
|
and disallowed in the operands, because it separates a comment from the operand, e.g.
|
||||||
|
|
||||||
@ -93,4 +92,4 @@ Links
|
|||||||
* [cc65](http://cc65.github.io/cc65/) - C cross-compiler targeting 6502-based systems
|
* [cc65](http://cc65.github.io/cc65/) - C cross-compiler targeting 6502-based systems
|
||||||
* [MADS](http://mads.atari8.info/) - another 6502/65816 cross-assembler, partially supporting xasm's syntax
|
* [MADS](http://mads.atari8.info/) - another 6502/65816 cross-assembler, partially supporting xasm's syntax
|
||||||
* [vim-xasm](https://github.com/lybrown/vim-xasm) - VIM syntax highlighting for xasm
|
* [vim-xasm](https://github.com/lybrown/vim-xasm) - VIM syntax highlighting for xasm
|
||||||
* [WUDSN IDE](http://wudsn.com/) - Eclipse plugin, front-end to several 6502 cross-assemblers including xasm
|
* [WUDSN IDE](http://wudsn.com/) - Eclipse plugin, front-end to several 6502 cross-assemblers, including xasm
|
||||||
|
Loading…
Reference in New Issue
Block a user