|
Re: C64 Assemblers [message #163565 is a reply to message #163559] |
Thu, 18 May 2006 15:06 |
iAN CooG
Messages: 613 Registered: April 2012
Karma: 0
|
Senior Member |
|
|
jhon smith <jhonsmith122@hotmail.com> wrote:
> Hi,sombody has recently tried the W64Asm I`ve been writing and stated
> that he did`nt like it as it did not validate the code immidiatly,but
> during assemble.
Tell him that's a silly request. It would require a big overhead by
compiling at *every keystroke*.
Write, check what you wrote with brain plugged in, Assemble; if necessary,
repeat.
--
-=[]=--- iAN CooG/HokutoForce ---=[]=-
|
|
|
|
Re: C64 Assemblers [message #163569 is a reply to message #163565] |
Thu, 18 May 2006 15:51 |
Anders Carlsson
Messages: 776 Registered: July 2003
Karma: 0
|
Senior Member |
|
|
"iAN CooG" <iancoog@despammed.com> writes:
> It would require a big overhead by compiling at *every keystroke*.
I haven't checked out Jhon's W64Asm, but is it an integrated editor
and assembler environment? In that case, some kind of optional
syntax highlighting might be within reach, so it will mark known
mnemonics in different colours. It could even distinguish a typo
such as LDA #$2000 or STA ($FD),X or indent code according to
user preferences.
However, focus on the assembler generating correct code, perhaps
following conventions used by some other assemblers.
--
Anders Carlsson
|
|
|
Re: C64 Assemblers [message #163582 is a reply to message #163559] |
Thu, 18 May 2006 23:25 |
Anton Treuenfels
Messages: 105 Registered: December 2011
Karma: 0
|
Senior Member |
|
|
"jhon smith" <jhonsmith122@hotmail.com> wrote in message
news:nv2dnc944bLZDvHZRVny2g@eclipse.net.uk...
> Hi,sombody has recently tried the W64Asm I`ve been writing and stated that
> he did`nt like it as it did not validate the code immidiatly,but during
> assemble.
>
> Could anyone tell me if most c64/pc cross assemblers work this way??.
Mine doesn't, and AFAIK none do. It's not something that's easy to provide
unless you're also supplying the editor.
Perhaps he's thinking of the mini-assemblers found in machine language
monitors. Those will indeed tell you if they don't like the syntax of each
line as soon as you type it in, because they're trying to translate it
immediately.
- Anton Treuenfels
|
|
|
Re: C64 Assemblers [message #163710 is a reply to message #163568] |
Sat, 20 May 2006 08:14 |
|
Originally posted by: Bas Wassink
Tom Lake wrote:
> "iAN CooG" <iancoog@despammed.com> wrote in message
> news:YA3bg.3271$jP5.67854@twister1.libero.it...
>
>> jhon smith <jhonsmith122@hotmail.com> wrote:
>>
>>> Hi,sombody has recently tried the W64Asm I`ve been writing and stated
>>> that he did`nt like it as it did not validate the code immidiatly,but
>>> during assemble.
>>
>> Tell him that's a silly request. It would require a big overhead by
>> compiling at *every keystroke*.
>
>
> Not every keystroke, just every carriage return (Enter)
>
> Tom Lake
>
Which would still be a silly request.
Sure, if one would type 'LDA #$1000' it would be quite simple to detect
a syntax error, but what about 'BNE some_label'? Checking if the branch
is out of range calls for a rebuild of the symbol table, which will
cause some serious overhead, not to mention that this sort of thing
isn't easy to implement and is likely to introduce more bugs.
I prefer to keep my editor and compilers/assemblers seperate.
That way I don't have to learn a new editor when switching assemblers or
compilers.
I've briefly looked at the docs of the W64asm and I think it would be
better to stick to some conventions for 65xx-assemblers, in particular
the use of dots ('.') for preprocessor/pseudo-ops:
Use '.byte' instead of just 'byte', this will help to improve your
tokenization-routines and it is the way people are used to writing
pseudo-ops.
Bas 'Compyx' Wassink
|
|
|
Re: C64 Assemblers [message #163727 is a reply to message #163559] |
Sat, 20 May 2006 09:40 |
anoneds@netscape.net
Messages: 53 Registered: December 2004
Karma: 0
|
Member |
|
|
On Thu, 18 May 2006 16:31:13 +0100, jhon smith wrote:
> Hi,sombody has recently tried the W64Asm I`ve been writing and stated that
> he did`nt like it as it did not validate the code immidiatly,but during
> assemble.
>
> Could anyone tell me if most c64/pc cross assemblers work this way??.
Tell him he needs to try the TI Minimemory Line-by-line assembler. It
validates every line, actually _by field_, as you type it. It back-patces
references to lebels that don't yet exist when they occur. Of course as
soon as you hit enter, the line is assembled into that memory location
right then.
Actually, newer PC assemblers may do some validation in the IDE.
|
|
|
Re: C64 Assemblers [message #163729 is a reply to message #163710] |
Sat, 20 May 2006 10:01 |
|
Originally posted by: jhon smith
Hi,could anyone suggest a few of the most popular cross assemblers,so that I
could have a look at what is regarded as `standard` when it come to c64
cross assemblers and there convenstions.
Thanks.
"Bas Wassink" <invalid@invalid.net> wrote in message
news:78f35$446f07b1$3ec2e275$32448@news.chello.nl...
> Tom Lake wrote:
>> "iAN CooG" <iancoog@despammed.com> wrote in message
>> news:YA3bg.3271$jP5.67854@twister1.libero.it...
>>
>>> jhon smith <jhonsmith122@hotmail.com> wrote:
>>>
>>>> Hi,sombody has recently tried the W64Asm I`ve been writing and stated
>>>> that he did`nt like it as it did not validate the code immidiatly,but
>>>> during assemble.
>>>
>>> Tell him that's a silly request. It would require a big overhead by
>>> compiling at *every keystroke*.
>>
>>
>> Not every keystroke, just every carriage return (Enter)
>>
>> Tom Lake
>>
>
> Which would still be a silly request.
>
> Sure, if one would type 'LDA #$1000' it would be quite simple to detect
> a syntax error, but what about 'BNE some_label'? Checking if the branch
> is out of range calls for a rebuild of the symbol table, which will
> cause some serious overhead, not to mention that this sort of thing
> isn't easy to implement and is likely to introduce more bugs.
>
> I prefer to keep my editor and compilers/assemblers seperate.
> That way I don't have to learn a new editor when switching assemblers or
> compilers.
>
> I've briefly looked at the docs of the W64asm and I think it would be
> better to stick to some conventions for 65xx-assemblers, in particular
> the use of dots ('.') for preprocessor/pseudo-ops:
> Use '.byte' instead of just 'byte', this will help to improve your
> tokenization-routines and it is the way people are used to writing
> pseudo-ops.
>
>
> Bas 'Compyx' Wassink
|
|
|
Re: C64 Assemblers [message #163734 is a reply to message #163729] |
Sat, 20 May 2006 11:10 |
|
Originally posted by: Bas Wassink
jhon smith wrote:
> Hi,could anyone suggest a few of the most popular cross assemblers,so that I
> could have a look at what is regarded as `standard` when it come to c64
> cross assemblers and there convenstions.
> Thanks.
>
>
> "Bas Wassink" <invalid@invalid.net> wrote in message
> news:78f35$446f07b1$3ec2e275$32448@news.chello.nl...
>
>> Tom Lake wrote:
>>
>>> "iAN CooG" <iancoog@despammed.com> wrote in message
>>> news:YA3bg.3271$jP5.67854@twister1.libero.it...
>>>
>>>
>>>> jhon smith <jhonsmith122@hotmail.com> wrote:
>>>>
>>>>
>>>> >Hi,sombody has recently tried the W64Asm I`ve been writing and stated
>>>> >that he did`nt like it as it did not validate the code immidiatly,but
>>>> >during assemble.
>>>>
>>>> Tell him that's a silly request. It would require a big overhead by
>>>> compiling at *every keystroke*.
>>>
>>>
>>> Not every keystroke, just every carriage return (Enter)
>>>
>>> Tom Lake
>>>
>>
>> Which would still be a silly request.
>>
>> Sure, if one would type 'LDA #$1000' it would be quite simple to detect
>> a syntax error, but what about 'BNE some_label'? Checking if the branch
>> is out of range calls for a rebuild of the symbol table, which will
>> cause some serious overhead, not to mention that this sort of thing
>> isn't easy to implement and is likely to introduce more bugs.
>>
>> I prefer to keep my editor and compilers/assemblers seperate.
>> That way I don't have to learn a new editor when switching assemblers or
>> compilers.
>>
>> I've briefly looked at the docs of the W64asm and I think it would be
>> better to stick to some conventions for 65xx-assemblers, in particular
>> the use of dots ('.') for preprocessor/pseudo-ops:
>> Use '.byte' instead of just 'byte', this will help to improve your
>> tokenization-routines and it is the way people are used to writing
>> pseudo-ops.
>>
>>
>> Bas 'Compyx' Wassink
>
>
>
Well, I mainly used DreamAss:
http://people.freenet.de/LittleDreamLand/dreamass/
which is a pretty nifty assembler but in my opinion a bit sparse when it
comes to error messages and warning. And it doesn't accept labels
starting with 'mod', such as 'modes' because the parser takes 'mod' as
an operator :(
Another (really good) one is CA65, part of the CC65 C-compiler package
for 65xx-systems: http://www.cc65.org/index.php
Right now I'm working on my second assembler, which will be released as
free software (source included, ISO-C compliant), but that might take a
while...
Anyway, most modern cross-assemblers for C64 are (partly) compatible
with Turbo Assembler (not the Borland one, the Omnikron one).
You should check out the forums at CSDb, the C64 Scene database, in the
coding section of the forums there are quite a few references to, and
discussion about, (cross)assemblers: http://noname.c64.org/csdb/
I'm not sure you can browse the forums as a guest, but registration is free.
HTH,
Bas 'Compyx' Wassink
|
|
|
|
|