mirror of
https://github.com/pfusik/xasm.git
synced 2024-12-22 00:29:15 +00:00
xasm 2.6.1 release.
This commit is contained in:
parent
f288e64747
commit
7c81897091
@ -15,39 +15,45 @@
|
|||||||
</ul>
|
</ul>
|
||||||
<p>Of course these features are not available in the <i>Windows Notepad</i>,
|
<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
|
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>
|
<ul>
|
||||||
<li><i>EditPlus</i>
|
<li><i>EditPlus</i>
|
||||||
(<a href="http://www.editplus.com">www.editplus.com</a>)</li>
|
(<a href="http://www.editplus.com">www.editplus.com</a>)</li>
|
||||||
<li><i>ConTEXT</i>
|
<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>
|
<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>
|
<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>
|
</ul>
|
||||||
<p>All of these have similar features. Personally I prefer
|
|
||||||
<i>Code-Genie</i>.</p>
|
|
||||||
<h3>Highlighting xasm mnemonics</h3>
|
<h3>Highlighting xasm mnemonics</h3>
|
||||||
<p>In the <tt>syntax</tt> subdirectory you'll find xasm syntax definitions
|
<p>In the <tt>syntax</tt> subdirectory you'll find xasm syntax definitions
|
||||||
for all of these editors.</p>
|
for all of these editors.</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Installation for <i>EditPlus</i>:
|
<li><i>EditPlus</i>:
|
||||||
Select <b>Tools/Preferences</b>, then <b>Files/Settings & syntax</b>,
|
Select <b>Tools/Preferences</b>, then <b>Files/Settings & syntax</b>,
|
||||||
then <b>Add</b>. Type <b>Description</b> (<tt>xasm</tt>),
|
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
|
<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
|
file</b> and locate the <tt>xasm.stx</tt> file. Then click
|
||||||
<b>Syntax colors</b> and select your favourite colors.</li>
|
<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>
|
to the <tt>Highlighters</tt> subdirectory of the <i>ConTEXT</i>
|
||||||
directory.</li>
|
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
|
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
|
<i>Code-Genie</i> directory. Edit <tt>cgenie.conf</tt>, you can do it by
|
||||||
selecting <b>View/Settings</b>. Type:<br/>
|
selecting <b>View/Settings</b>. Type:<br/>
|
||||||
<tt>DefaultSyntax xasm asx</tt><br/>
|
<tt>DefaultSyntax xasm asx</tt><br/>
|
||||||
near other <tt>DefaultSyntax</tt> lines.</li>
|
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>Syntax</tt> subdirectory of the <i>PSPad</i> directory. Edit
|
||||||
<tt>PSPad.ini</tt>. In the <tt>[Config]</tt> section set:<br/>
|
<tt>PSPad.ini</tt>. In the <tt>[Config]</tt> section set:<br/>
|
||||||
<tt>UserHighLighterName=xasm</tt><br/>
|
<tt>UserHighLighterName=xasm</tt><br/>
|
||||||
@ -67,6 +73,22 @@ Space=0080800080000005000
|
|||||||
String=0080008080000005000
|
String=0080008080000005000
|
||||||
Symbol=8000000880000005000
|
Symbol=8000000880000005000
|
||||||
</pre></li>
|
</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>
|
</ul>
|
||||||
<h3>Single-keystroke assembly</h3>
|
<h3>Single-keystroke assembly</h3>
|
||||||
<ul>
|
<ul>
|
||||||
@ -97,9 +119,18 @@ Compilator ParsLog=%F (%L) *
|
|||||||
Compilator Capture=1
|
Compilator Capture=1
|
||||||
</pre>
|
</pre>
|
||||||
(replace the paths to xasm and the emulator).</li>
|
(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>
|
</ul>
|
||||||
<h3>Placing the cursor where an assembly error occured</h3>
|
<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>
|
with the error message.</p>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
21
doc/xasm.htm
21
doc/xasm.htm
@ -2,7 +2,7 @@
|
|||||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
||||||
<head>
|
<head>
|
||||||
<title>xasm 2.6.0</title>
|
<title>xasm 2.6.1</title>
|
||||||
<meta name="Author" content="Piotr Fusik"/>
|
<meta name="Author" content="Piotr Fusik"/>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<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
|
assembled and bytes written). Good if you are building a project from many
|
||||||
source files and don't want tons of messages.</dd>
|
source files and don't want tons of messages.</dd>
|
||||||
<dt><tt>/t[:filename]</tt></dt>
|
<dt><tt>/t[:filename]</tt></dt>
|
||||||
<dd>List label table. If no <tt>filename</tt> given, the table is written
|
<dd>List label table. If no <tt>filename</tt> given, the table is appended
|
||||||
at the end of listing or to <tt>source.tab</tt>.</dd>
|
to the listing.</dd>
|
||||||
<dt><a name="new_unlabels"/><tt>/u</tt></dt>
|
<dt><a name="new_unlabels"/><tt>/u</tt></dt>
|
||||||
<dd>Warn of unused labels. A warning message will be issued for each label,
|
<dd>Warn of unused labels. A warning message will be issued for each label,
|
||||||
whose value is never used.</dd>
|
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
|
cmd (z),0- = ldy #0 : cmd (z),y : dey
|
||||||
</pre>
|
</pre>
|
||||||
<h2>CHANGES</h2>
|
<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>
|
<h3>Version 2.6.0 (2005-02-07)</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>long file names are supported under Windows</li>
|
<li>long file names are supported under Windows</li>
|
||||||
|
2
syntax/extension.asx
Normal file
2
syntax/extension.asx
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
LANGSPEC:XASM.SPC
|
||||||
|
KEYWORDS:XASM.KEY
|
17
syntax/xasm.key
Normal file
17
syntax/xasm.key
Normal 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
41
syntax/xasm.properties
Normal 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
38
syntax/xasm.scheme
Normal 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
14
syntax/xasm.spc
Normal 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={}
|
Loading…
Reference in New Issue
Block a user