Welcome, Guest. Please login or register.

Author Topic: Which Assembler?  (Read 8037 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline Joloo

Re: Which Assembler?
« on: October 11, 2009, 10:52:46 AM »
The differences between PhxAss and 'vasm' are large.

PhxAss is an AmigaOS and Amiga-Hunk format limited assembler while 'vasm' is a any-platform, many-binary output formats and many CPUs supporting assembler, which is also compatible to the Amiga m68k defacto assembler, Devpac.

For m68k the main difference is that 'vasm' is almost 100 percent Devpac compatible, while PhxAss isn't.
In addition, 'vasm' contains less bugs, or better said, it is not as tolerant as PhxAss.
It even spots more optimisation possibilities.

With version 14b of 'vasm' (not released yet - do you refer to this version, matthey?) it is also possible to create executables in one go without using a linker, which wasn't possible with previous versions:

vasmm68k_mot -Fhunkexe -nosym -ISDK:includes_i source.asm

Unfortunately, Frank Wille is always busy and is working at the same time on several projects, which means that he does not release a version althought it is already ready.


Quote

@matthey
I don't know how much code vasm and PhxAss share.


I would speculate that PhxAss was written in m68k assembler while 'vasm' is written in ANSI-C.
'vasm' was initially written by Dr. Volker Barthelmann (?) but actually I would say that 95 percent of the code is now written by Frank Wille; see all the written backends and output modules.

I personally would use PhxAss for machines only equipped with a m68000 or m68020 CPU while up from a m68030 I would prefer 'vasm', however, what assembler one does use is just a matter of taste.


Quote

@JJ
Also where would I find info on programming the various custom chips.


Amiga Hardware Reference Manual, Aminet and intro/demo scene sites.
 

Offline Joloo

Re: Which Assembler?
« Reply #1 on: October 18, 2009, 08:42:57 PM »
A little late, but better late than never... :)

Quote

@pmc/Retro
That's really interesting to me guys - with all the people using AsmOne I've spoken to I thought I must be one of the only guys around still using Devpac.

Perhaps, in that case, use of Devpac is less a British thing like I suspected and it's more just that demo coders mainly use AsmOne. Probably for the very reason you gave matthey - expense - when most of the demo guys started coding stuff as teenagers in their bedrooms way back when they would've used whatever was available easiest and cheapest I suppose...


Yes, that makes sense.
Although I was one of those, who were able to purchase Devpac (1 and 2) I never did.
I sticked with Seka. The illegal copies of Devpac (1 and 2) I obtained at copy-parties were not comparable with Devpac3. Devpac3 was the assembler which I had to have after I illegally copied it! Because it was nowhere to purchase (not store had it) I wrote a letter to HiSoft in 1992. For 71 £ plus shipping cost I got it - and I have never regretted it!


Quote

@xeron
Hmm.. interesting. I thought nobody used DevPac any more. Certainly in the Amiga demoscene, Asm-One and Asm-Pro are pretty much "the standard".


As Frank (Phx) pointed out, who could afford Devpac3 purchased it.
If I am not mistaken, AsmOne / AsmPro are successors of K-Seka. Clones of K-Seka were used in the 80ths by any demo/intro coder because they were the fastest assemblers available (although all were illegal; K-Seka was the source and disassembled and enhanced in order to produce a clone). Where the duo 'ASSEM' (MetaComCo) and 'Alink' would require more than two minutes to build the executable, K-Seka (I used MasterSeka) required just three seconds. Unfortunately, not one K-Seka clone was conforming with the Motorola syntax, nor they did allow to generate linkable code (K-Seka's link command was just a bad joke). So source codes written and successfully assembled with 'ASSEM' didn't work under K-Seka and clones.
And the same happened with Devpac. Source codes created with Devpac3 couldn't be assembled by using AsmOne / AsmPro nor vice versa, at least not in those times when I tried them. Frankly, even AsmOne / AsmPro would have worked I wouldn't have stopped using Devpac3. I was only curious at these times.


Quote

@matthey
The newest vasm v1.4b (beta) is here...


Not entirely correctly anymore since Frank has since yesterday a new version available (1.4c).
As I already told, he is always very busy. :)

By the way. The official release of 'vbcc 0.9a' (yesterday) does not contain it.


Quote

@matthey
I got the -Fhunkexe working but I didn't use it for the ARexx scripts because I have amiga.lib look up function offsets. Vasm is more compatible with the linker.


Hmm, I never used the 'amiga.lib' in conjunction with any assembler. Because Devpac, which I used in the past, came with all '..._lib.i' files, I used them. And now that I am using 'vasm', I am still using these '...._lib.i' files for 'vasm'. No problems at all.
By the way, I didn't use the 'amiga.lib' for my projects because I don't like relocation data in my executable. If possible, the codes I built using assemblers were PC-relativ and often reentrant, too.