xasm 2.6.1 release.

This commit is contained in:
Piotr Fusik 2005-05-21 16:49:48 +02:00
parent f288e64747
commit 7c81897091
7 changed files with 172 additions and 14 deletions

View File

@ -15,39 +15,45 @@
</ul>
<p>Of course these features are not available in the <i>Windows Notepad</i>,
so you must pick another text editor. Fortunately there are many
general-purpose text editors for Windows. I'll fucus on four of them:</p>
general-purpose text editors for Windows. I'll focus on the following:</p>
<ul>
<li><i>EditPlus</i>
(<a href="http://www.editplus.com">www.editplus.com</a>)</li>
<li><i>ConTEXT</i>
(<a href="http://www.fixedsys.com/context">www.fixedsys.com/context</a>)</li>
(<a href="http://www.context.cx">www.context.cx</a>)</li>
<li><i>Code-Genie</i>
(<a href="http://www.code-genie.com">www.code-genie.com</a>)</li>
(<a href="http://www.code-genie.com">www.code-genie.com</a>,
looks like the editor is no longer supported)</li>
<li><i>PSPad</i>
(<a href="http://pspad.zde.cz">pspad.zde.cz</a>)</li>
(<a href="http://www.pspad.com">www.pspad.com</a>)</li>
<li><i>Programmers Notepad 2</i>
(<a href="http://www.pnotepad.org">www.pnotepad.org</a>)</li>
<li><i>Crimson Editor</i>
(<a href="http://www.crimsoneditor.com">www.crimsoneditor.com</a>)</li>
<li><i>SciTE</i>
(<a href="http://www.scintilla.org">www.scintilla.org</a>),
also available for Linux</li>
</ul>
<p>All of these have similar features. Personally I prefer
<i>Code-Genie</i>.</p>
<h3>Highlighting xasm mnemonics</h3>
<p>In the <tt>syntax</tt> subdirectory you'll find xasm syntax definitions
for all of these editors.</p>
<ul>
<li>Installation for <i>EditPlus</i>:
<li><i>EditPlus</i>:
Select <b>Tools/Preferences</b>, then <b>Files/Settings &amp; syntax</b>,
then <b>Add</b>. Type <b>Description</b> (<tt>xasm</tt>),
<b>File extensions</b> (<tt>asx</tt>), click <b>...</b> next to <b>Syntax
file</b> and locate the <tt>xasm.stx</tt> file. Then click
<b>Syntax colors</b> and select your favourite colors.</li>
<li>Installation for <i>ConTEXT</i>: Just copy <tt>xasm.chl</tt>
<li><i>ConTEXT</i>: Just copy <tt>xasm.chl</tt>
to the <tt>Highlighters</tt> subdirectory of the <i>ConTEXT</i>
directory.</li>
<li>Installation for <i>Code-Genie</i>:
<li><i>Code-Genie</i>:
Copy <tt>xasm.cgsyn</tt> to the <tt>syn</tt> subdirectory in the
<i>Code-Genie</i> directory. Edit <tt>cgenie.conf</tt>, you can do it by
selecting <b>View/Settings</b>. Type:<br/>
<tt>DefaultSyntax&nbsp;xasm&nbsp;asx</tt><br/>
near other <tt>DefaultSyntax</tt> lines.</li>
<li>Installation for <i>PSPad</i>: Copy <tt>xasm.ini</tt> to the
<li><i>PSPad</i>: Copy <tt>xasm.ini</tt> to the
<tt>Syntax</tt> subdirectory of the <i>PSPad</i> directory. Edit
<tt>PSPad.ini</tt>. In the <tt>[Config]</tt> section set:<br/>
<tt>UserHighLighterName=xasm</tt><br/>
@ -67,6 +73,22 @@ Space=0080800080000005000
String=0080008080000005000
Symbol=8000000880000005000
</pre></li>
<li><i>Programmers Notepad 2</i>: Copy <tt>xasm.scheme</tt>
to the <tt>schemes</tt> subdirectory of the <i>Programmers Notepad</i>
directory. You have to select the xasm scheme each time you open a source
file, as I don't know how to associate the scheme with the <tt>asx</tt>
extension.</li>
<li><i>Crimson Editor</i>: Copy <tt>xasm.key</tt>
and <tt>xasm.spc</tt> to the <tt>spec</tt> subdirectory
of the <i>Crimson Editor</i>. Copy <tt>extension.asx</tt> to the <tt>link</tt>
subdirecory of the <i>Crimson Editor</i>.</li>
<li><i>SciTE</i>: Copy <tt>xasm.properties</tt> to the <i>SciTE</i> directory.
Add the following line to <tt>menu.language</tt> in <tt>SciTEGlobal.properties</tt>:
<pre>xasm|asx||\
</pre>
Add the following line at the end of <tt>SciTEGlobal.properties</tt>:
<pre>import xasm
</pre></li>
</ul>
<h3>Single-keystroke assembly</h3>
<ul>
@ -97,9 +119,18 @@ Compilator ParsLog=%F (%L) *
Compilator Capture=1
</pre>
(replace the paths to xasm and the emulator).</li>
<li> <i>Programmers Notepad 2</i>: Select <b>Tools/Add tools</b>. Select
<b>Scheme</b>: <tt>xasm</tt>. Click <b>Add</b>. Fill: <b>Name</b>,
<b>Command</b>, <b>Folder</b> (<tt>%d</tt>) and <b>Parameters</b> (<tt>%f</tt>).
For error parsing, you should fill a custom pattern on the <b>Console I/O</b>
tab. However, PN 2.0.5.48 <b>crashes</b> when entering <tt>"("</tt> !</li>
<li> <i>Crimson Editor</i>: Select <b>Tools/Conf. User Tools</b>. Select
an empty slot, fill <b>Menu Text</b>, <b>Command</b>, <b>Argument</b>
and <b>Initial Dir</b>. Check <b>Capture output</b>.</li>
<li> <i>SciTE</i>: The configuration is already in <tt>xasm.properties</tt>.</li>
</ul>
<h3>Placing the cursor where an assembly error occured</h3>
<p>This works same for all these four editors: just double-click the line
<p>This works same for all these editors: just double-click the line
with the error message.</p>
</body>
</html>

View File

@ -2,7 +2,7 @@
"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 2.6.0</title>
<title>xasm 2.6.1</title>
<meta name="Author" content="Piotr Fusik"/>
</head>
<body>
@ -57,8 +57,8 @@ Prevents <b>xasm</b> from printing its name and the summary (how many lines
assembled and bytes written). Good if you are building a project from many
source files and don't want tons of messages.</dd>
<dt><tt>/t[:filename]</tt></dt>
<dd>List label table. If no <tt>filename</tt> given, the table is written
at the end of listing or to <tt>source.tab</tt>.</dd>
<dd>List label table. If no <tt>filename</tt> given, the table is appended
to the listing.</dd>
<dt><a name="new_unlabels"/><tt>/u</tt></dt>
<dd>Warn of unused labels. A warning message will be issued for each label,
whose value is never used.</dd>
@ -560,6 +560,21 @@ in all 6502 commands and pseudo-commands, except for
cmd (z),0- = ldy #0 : cmd (z),y : dey
</pre>
<h2>CHANGES</h2>
<h3>Version 2.6.1 (2005-05-21)</h3>
<ul>
<li>no more "Arithmetic overflow" and "Division by zero" errors when correctly
using forward-referenced labels (bug found by Marcin Lewandowski)</li>
<li>the following now assembles:
<pre> ift 0
foo equ 1
ift foo
eif
eif
</pre>
(bug found by Adrian Matoga)</li>
<li>errors for non-existing <tt>INC @</tt> and <tt>DEC @</tt></li>
<li>negative numbers fixed in the listing</li>
</ul>
<h3>Version 2.6.0 (2005-02-07)</h3>
<ul>
<li>long file names are supported under Windows</li>

2
syntax/extension.asx Normal file
View File

@ -0,0 +1,2 @@
LANGSPEC:XASM.SPC
KEYWORDS:XASM.KEY

17
syntax/xasm.key Normal file
View File

@ -0,0 +1,17 @@
[-COMMENT-:GLOBAL]
# xasm keyword file for Crimson Editor (www.crimsoneditor.com)
# written by Piotr Fusik <fox@scene.pl>
[KEYWORDS0:GLOBAL]
adc add and asl bcc bcs beq bit
bmi bne bpl brk bvc bvs clc cld
cli clv cmp cpx cpy dec dex dey
dta eif eli els end eor equ ert
icl ift inc ini ins inw inx iny
jcc jcs jeq jmi jmp jne jpl jsr
jvc jvs lda ldx ldy lsr mva mvx
mvy mwa mwx mwy nop opt ora org
pha php pla plp rcc rcs req rmi
rne rol ror rpl rti rts run rvc
rvs sbc scc scs sec sed sei seq
smi sne spl sta stx sty sub svc
svs tax tay tsx txa txs tya

41
syntax/xasm.properties Normal file
View File

@ -0,0 +1,41 @@
# xasm settings for SciTE (www.scintilla.org)
# written by Piotr Fusik <fox@scene.pl>
file.patterns.asx=*.asx
filter.asx=xasm (asx)|$(file.patterns.asm)|
lexer.$(file.patterns.asx)=asm
keywords.$(file.patterns.asx)= \
adc add and asl bcc bcs beq bit \
bmi bne bpl brk bvc bvs clc cld \
cli clv cmp cpx cpy dec dex dey \
dta eif eli els end eor equ ert \
icl ift inc ini ins inw inx iny \
jcc jcs jeq jmi jmp jne jpl jsr \
jvc jvs lda ldx ldy lsr mva mvx \
mvy mwa mwx mwy nop opt ora org \
pha php pla plp rcc rcs req rmi \
rne rol ror rpl rti rts run rvc \
rvs sbc scc scs sec sed sei seq \
smi sne spl sta stx sty sub svc \
svs tax tay tsx txa txs tya
comment.block.asm=;
style.asm.32=
style.asm.1=$(colour.code.comment.line)
style.asm.2=
style.asm.3=$(colour.string)
style.asm.4=$(colour.operator)
style.asm.5=
style.asm.6=$(colour.keyword)
style.asm.7=
style.asm.12=$(colour.char)
style.asm.13=$(colour.error)
command.compile.$(file.patterns.asx)=xasm /o:$(FileName).xex $(FilePath)
command.build.$(file.patterns.asx)=make
if PLAT_WIN
command.go.$(file.patterns.asx)=start $(FileName).xex
if PLAT_GTK
command.go.$(file.patterns.asx)=atari800 -run $(FileName).xex

38
syntax/xasm.scheme Normal file
View File

@ -0,0 +1,38 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- xasm scheme for Programmers Notepad 2 (http://www.pnotepad.org)
Written by Piotr Fusik <fox@scene.pl>
-->
<Scheme>
<keyword-classes>
<keyword-class name="xasm">
adc add and asl bcc bcs beq bit
bmi bne bpl brk bvc bvs clc cld
cli clv cmp cpx cpy dec dex dey
dta eif eli els end eor equ ert
icl ift inc ini ins inw inx iny
jcc jcs jeq jmi jmp jne jpl jsr
jvc jvs lda ldx ldy lsr mva mvx
mvy mwa mwx mwy nop opt ora org
pha php pla plp rcc rcs req rmi
rne rol ror rpl rti rts run rvc
rvs sbc scc scs sec sed sei seq
smi sne spl sta stx sty sub svc
svs tax tay tsx txa txs tya
</keyword-class>
</keyword-classes>
<language name="xasm" title="xasm">
<lexer name="asm"/>
<use-keywords>
<keyword key="0" name="Keywords" class="xasm"/>
</use-keywords>
<use-styles>
<style name="Default" key="32" font="font.monospace"/>
<style name="Comment" key="1" class="comment"/>
<style name="String" key="3" class="string"/>
<style name="Operator" key="4" class="operator"/>
<style name="Keyword" key="6" class="keyword"/>
<style name="Char" key="12" class="char"/>
<style name="Error" key="13" class="error"/>
</use-styles>
</language>
</Scheme>

14
syntax/xasm.spc Normal file
View File

@ -0,0 +1,14 @@
# xasm specification file for Crimson Editor (www.crimsoneditor.com)
# written by Piotr Fusik <fox@scene.pl>
$CASESENSITIVE=NO
$DELIMITERS=~`!@#$%^&*()+=|{}[]:;"',.<>/?
$QUOTATIONMARK1="
$QUOTATIONMARK2='
$LINECOMMENT=;
$LINECOMMENT2=*
$INDENTATIONON=
$INDENTATIONOFF=
$PAIRS1=()
$PAIRS2=[]
$PAIRS3={}