mirror of
https://github.com/pfusik/xasm.git
synced 2024-12-21 09:29:39 +00:00
xasm 2.6.1 release.
This commit is contained in:
parent
f288e64747
commit
7c81897091
@ -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 & 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 xasm 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>
|
||||
|
21
doc/xasm.htm
21
doc/xasm.htm
@ -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
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