Welcome, Guest. Please login or register.

Author Topic: Which Assembler?  (Read 8043 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline Phx_

  • Newbie
  • *
  • Join Date: Nov 2003
  • Posts: 7
    • Show all replies
    • http://home.owl.de/~frank/
Re: Which Assembler?
« on: October 11, 2009, 08:32:29 PM »
Quote from: pmc/Retro;525529
All my demo code is developed in UltraEdit (text editor) on the PC and then I use Devpac v3.18 to assemble on the Amiga.

UltraEdit sounds like Windows. You could compile vasm, which is 99% Devpac-compatible, for Windows and create your binaries there. Saves you from copying the sources to your Amiga.
 
Quote
Use of Devpac seems to be a British thing (the makers, Hisoft, were a British company) as, in my experience, mostly British guys use it.

I don't think so. Devpac is the de-facto standard for 68k assemblers, even on the Atari. But it was quite expensive at that time.
 

Offline Phx_

  • Newbie
  • *
  • Join Date: Nov 2003
  • Posts: 7
    • Show all replies
    • http://home.owl.de/~frank/
Re: Which Assembler?
« Reply #1 on: October 12, 2009, 08:42:27 AM »
Quote from: matthey;525579
I reported and Frank fixed the JSRLIB GetMsg type macro generating something like this...

JSR ($FFFFFe8C.L,A6,ZD0.W)

instead of this...

jsr (-372,a6)

That looks evil on first sight, but I have to clarify the scope of this bug: it only happened when all of the following conditions were true:
- assembling for 68020+
- the displacement is an undefined external symbol (GetMsg in this case)
- you didn't specify a discplacement size, like ".w"


Quote

I tried that but it didn't work. I get...

fatal error 17: could not initialize output module

Are you sure the above vasm line is correct?

It is. There is always somebody with a newer beta. ;)
 

Offline Phx_

  • Newbie
  • *
  • Join Date: Nov 2003
  • Posts: 7
    • Show all replies
    • http://home.owl.de/~frank/
Re: Which Assembler?
« Reply #2 on: October 19, 2009, 10:00:46 AM »
Quote from: Joloo;526436

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.

When you use amiga.lib just to resolve the LVOs, as matthey did, there will be no new relocations, because an LVO is an absolute symbol.