[comp.sys.amiga] assempro

daveh@cbmvax.UUCP (Dave Haynie) (02/12/88)

> After 2 days looking,testing and using assempro, I have to say that : 

I recently played with AssemPro for a week in order to review it for Amiga
Sentry.  I found pretty much the same kind of things...

> - XREF/XDEF can be simulated by using SLABEL/ILABEL .
>   For example,  a SMALL.LIB (small amiga.lib that can be found on one 
>   of the fish disk) can be created using the same trick. 
>   Assembling All the _lvo offsets and declaring them as SLABEL (XDEF)
>   and then using them using ILABEL (XREF) . 
>   Advantage : takes less space on the disk (so a bigger work disk).
>               the assembling is faster. (the Offsets being pre-assembled.)

Also, modules can be simulated via INCLUDE.  This is because labels in INCLUDEd
files are local to that file, unless you say otherwise.  AssemPro probably
runs near as fast as most linkers on the Amiga, so this isn't so bad, at least
as long as you're only dealing with assembly language.  And all source code
of course.

> - The text editor is really primitive, I miss EMACS .However the search and 
>   replace option is really powerfull (wich is proportionally complicated).

I don't know if I'd call it "really" primitive.  Certainly not on a par with
Emacs in any of it'd better flavors, but in the same ballpark as EDT.  In
fact, it seems inspired by EDT.  It offers Keypad editing commands as well
as menu selected ones, and a command language very much the same flavor as
EDT's nokeypad mode.  You can't do macros, but you can attach strings of
these commands to function keys.  If they let you at the control keys as 
well you could do a simple Emacs emulation, as I've done way back when I had
to use EDT.  It does at least let you edit multiple documents onscreen, and
cut/paste between them (though not using the Amiga's clipboard).  The windowing
feature is better than all Amiga Emacs I've seen so far; they all do split
screening just like on a VT100.  Much too weak for a proper Amiga environment.

My main caution on this package is that you won't be able to properly mix it
with other languages, since you can't link.  I suppose your C program could
LoadSeg() something created with AssemPro, or call up an AssemPro generated
library, but you're not going to call AssemPro functions directly from C.
This may be a minor quip, though, since both C compilers already come with
Assemblers.
-- 
Dave Haynie  "The B2000 Guy"     Commodore-Amiga  "The Crew That Never Rests"
   {ihnp4|uunet|rutgers}!cbmvax!daveh      PLINK: D-DAVE H     BIX: hazy
		"I can't relax, 'cause I'm a Boinger!"

pds@quintus.UUCP (Peter Schachte) (02/13/88)

In article <3309@cbmvax.UUCP>, daveh@cbmvax.UUCP (Dave Haynie) writes:
> ...
> My main caution on this package is that you won't be able to properly mix it
> with other languages, since you can't link.  I suppose your C program could
> LoadSeg() something created with AssemPro, or call up an AssemPro generated
> library, but you're not going to call AssemPro functions directly from C.
> This may be a minor quip, though, since both C compilers already come with
> Assemblers.

Ahhh, but can I develop an assembly routine with assempro, and then use
someone else's assembler to produce a linkable object?  Is it
compatible enough?
-- 
-Peter Schachte
pds@quintus.uucp
...!sun!quintus!pds

dillon@cory.Berkeley.EDU (Matt Dillon) (02/13/88)

In article <643@sandino.quintus.UUCP> pds@quintus.UUCP (Peter Schachte) writes:
>
>Ahhh, but can I develop an assembly routine with assempro, and then use
>someone else's assembler to produce a linkable object?  Is it
>compatible enough?

No.   AssemPro makes little attempt at compatibility with other Amiga 
assemblers.  The basic instuctions are the same, almost **, but most of
the assembler directives are different.  It is a pain to convert.  Not
impossible, just a pain.


** AssemPro does not take some popular instruction varriants such as
"lea.l" or "bset.b".


|\_/|  . ACK!, NAK!, EOT!, SOH!
{o o} .     Bryce Nesbitt
 (")        BIX: mleeds (temporarily)
  U	    Don't send mail... it won't get here.

daveh@cbmvax.UUCP (Dave Haynie) (02/17/88)

> Summary: can you use another assembler on files created with assempro?
> In article <3309@cbmvax.UUCP>, daveh@cbmvax.UUCP (Dave Haynie) writes:

>> My main caution on this package is that you won't be able to properly mix it
>> with other languages, since you can't link.  I suppose your C program could
>> LoadSeg() something created with AssemPro, or call up an AssemPro generated
>> library, but you're not going to call AssemPro functions directly from C.
>> This may be a minor quip, though, since both C compilers already come with
>> Assemblers.

> Ahhh, but can I develop an assembly routine with assempro, and then use
> someone else's assembler to produce a linkable object?  Is it
> compatible enough?

MAYBE.  If you write small programs, you're probably OK.  The op-codes are
no problem, but the pseudo-ops could be.  The most common difference is the
pseudo-op used for alignment.  Assempro uses "ALIGN.W" or "ALIGN.L" type
code, while Metacomco and Lattice use Moto's "CNOP" code.  It's pretty simple
to write macros to trade one for another, and the Assempro manual actually
includes THESE macros.

If you start getting very complex, and deal with INCLUDE user-written
INCLUDEs, INCLUDEs playing as modules, or some of the SLABEL/ILABEL stuff,
you may get into more involved compatibility issues.  I don't think there'd
be any problem with system includes, as long as you're including AssemPro
files in Assempro and standard Amiga assembler includes with Metacomco or
Lattice's assembler.

I think for the most likely cases, like "I'm building this assembly subroutine
to call later from C", Assempro would be a good route to take.  You could build
the subroutine really easily in the intergrated Assempro environment, test it
out with their debugger, and then port it to MCC or Lattice with little or no
trouble.  Something the size of exec.library or graphics.library would be
best left in MCC or Assempro format, unless you figure build yourself a generic
environment with the proper macros in each system.

> -Peter Schachte
> pds@quintus.uucp
> ...!sun!quintus!pds
-- 
Dave Haynie  "The B2000 Guy"     Commodore-Amiga  "The Crew That Never Rests"
   {ihnp4|uunet|rutgers}!cbmvax!daveh      PLINK: D-DAVE H     BIX: hazy
		"I can't relax, 'cause I'm a Boinger!"

rodd@dasys1.UUCP (Rod Dorman) (02/24/88)

Can anyone do a comparison of AssemPro vs DevPac Amiga?

According to the review in Amazing Computing V2#6 it also is a "turbo"
style assembler.

					-- Rod --
{sun!hoptoad,cmcl2!phri}!dasys1!rodd

bryce@eris (Bryce Nesbitt) (02/25/88)

In article <3085@dasys1.UUCP> rodd@dasys1.UUCP (Rod Dorman) writes:
>Can anyone do a comparison of AssemPro vs DevPac Amiga?

Between those two, the CLEAR winner is HiSoft's Devpack.  Faster, less
bugs, more compatible, faster and did I mention faster? 

|\_/|  . ACK!, NAK!, EOT!, SOH!
{O_o} .     Bryce Nesbitt
 (")        BIX: mleeds (temporarily)
  U	    USENET: bryce@eris.berkeley.EDU -or- ucbvax!eris!bryce