A.D.A. Amiga Demoscene Archive

  Welcome guest! Please register a new account or log in

  

  

  

log in with SceneID

  

Demos Amiga Demoscene Archive Forum / Coding / ASM-One

 

Author Message
bonkers
Member
#1 - Posted: 28 Mar 2008 13:35
Reply Quote
Apparently ASM-One is still alive as a new update was just released. http://www.theflamearrows.info/homepage.html

Referring to the previous thread about ASM-One/ASM-Pro oddities maybe we should compile some form of list and send it to TFA. I am pretty sure we represent a substantial part of the users of the program and it will probably also work as a good motivation for the coder.
Blueberry
Member
#2 - Posted: 28 Mar 2008 14:59
Reply Quote
Interesting... Especially the bit about integrating fixes from AsmPro. Will surely check this one out...

An even better thing we could do would be to have an official ASM-One discussion thread in here and convince the ASM-One developer to actively participate in it.
bonkers
Member
#3 - Posted: 28 Mar 2008 15:11
Reply Quote
Sounds like a good idea, wonder if we should send him an email to make him aware of this forum. Anyhow, we should start compiling a list of bugs.
z5_
Member
#4 - Posted: 28 Mar 2008 16:02 - Edited
Reply Quote
Boushh from TFA dropped by and posted in loaderror's asm-pro oddities thread a couple of days ago.
Blueberry
Member
#5 - Posted: 1 Apr 2008 19:08
Reply Quote
I tried out this new ASM-One to see if it was worth switching back from AsmPro. I like the idea of using a program which is actively being developed (which was why I switched to AsmPro some 7 or 8 years ago...).

I only found one real showstopper, and that one is rather subtle. It concerns the special \@ marker which is used inside a macro to identify the particular macro invocation. This marker is replaced by a different, unique name on each macro invocation, so that macros can contain, e.g. unique labels.

In AsmPro, the value substituted for \@ is indeed unique for each macro invocation. However, in ASM-One, it is only unique for each source position of the macro invocation. That means that if the same file is included multiple times and that file contains a macro invocation containing \@, it will be given the same name each time. This breaks virtually all of my sources. It also means that including a file is not always the same as inserting its contents at the include position, which it should be.

Another bug which breaks some of my sources but which should be easy to fix, is that an rs.b inside a BSS section gives the error "Illegal Operator in BSS Area". Other sizes - rs.w and rs.l - work fine.

Then there are a couple of bugs that I fixed in AsmPro which are still present in ASM-One. The fixes should be easy to port over:
- The < operator is unsigned less or equal instead of signed less than.
- rept 0 repeats once, rather than zero times.
- The ^ operator on floats with a nonpositive exponent hangs.
- Bitfield instructions with wrapped bitfield (such as d0{22:14}) give an error. These are legal.

Among the additional features missing from ASM-One compared to AsmPro, I miss the most:
- Selectable editor font
- Syntax highlighting
- Ability to enter the debugger without assembling the source. In AsmPro, when "show source" is unticked, the AD command does not assemble. This could be viewed as a bug, but it is actually extremely useful, for instance for single-stepping loaded object files. I use this "feature" a lot.

One difference I really liked, however: In ASM-One, the registers are displayed as text below the code, instead of in their own window. This means that integer and FPU registers are shown at the same time. I have been really irritated by having to switch back and forth all the time while debugging.

I have not yet started on the things missing from AsmPro that are still missing from ASM-One. Some other time... :)
TheDarkCoder
Member
#6 - Posted: 2 Apr 2008 09:24
Reply Quote
the \@ problem that Blueberry mentions, may be the source of a problem I had some months with nested macros: inside a macro I wanted to use a smaller macro (to do a WaitBlit), but I cound't because some label was multiply defined

 

  Please register a new account or log in to comment

  

  

  

 

A.D.A. Amiga Demoscene Archive, Version 3.0