home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fresh Fish 9
/
FreshFishVol9-CD2.bin
/
bbs
/
reviews
/
programmer.lha
/
programmer
/
Macro68
< prev
next >
Wrap
Text File
|
1993-04-23
|
11KB
|
272 lines
Path: menudo.uh.edu!usenet
From: 22dussia@cs.wmich.edu (Dimitri Tom Dussias)
Newsgroups: comp.sys.amiga.reviews
Subject: REVIEW: Macro68 assembler (and brief assembler comparison)
Followup-To: comp.sys.amiga.programmer
Date: 23 Apr 1993 19:53:43 GMT
Organization: The Amiga Online Review Column - ed. Daniel Barrett
Lines: 256
Sender: amiga-reviews@math.uh.edu (comp.sys.amiga.reviews moderator)
Distribution: world
Message-ID: <1r9hg7$qdg@menudo.uh.edu>
Reply-To: 22dussia@cs.wmich.edu (Dimitri Tom Dussias)
NNTP-Posting-Host: karazm.math.uh.edu
Keywords: assembler, programming, 68000 family, commercial
PRODUCT NAME
Macro68 version 3.165
BRIEF DESCRIPTION
Macro68, the best 680x0 assembler on the Amiga!
AUTHOR/COMPANY INFORMATION
Name: Digisoft
Address: 12 Dinmore Street
Moorooka. 4105
Brisbane, Queensland
Australia
Distributed in the USA by:
Name: The Puzzle Factory
Address: PO Box 986
Veneta, OR 97487
Telephone: (800) 828-9952
LIST PRICE
$150.00 (US retail). I paid about ~$135 for my copy, including
shipping and COD charges.
SPECIAL HARDWARE AND SOFTWARE REQUIREMENTS
HARDWARE
None.
I would recommend at least 1 MB RAM -- the more the better!
I would also recommend a hard drive, but it's not necessary.
SOFTWARE
None.
Works with 2.04 & 3.0 versions of the OS.
(Also 1.2 & 1.3, but who still has these? :') )
COPY PROTECTION
None.
MACHINE USED FOR TESTING
Macro68 has been tested on:
A1000 : 512K Chip RAM, 2MB fast RAM, Kickstart 1.3.
A1200 : 2MB Chip RAM, Kickstart 3.0.
A2000 : 1MB Chip RAM, 6MB Fast RAM + a 68040, Kickstart 2.04
REVIEW
(This is my first review, so go easy on me: I am a CS major, NOT an
English major!)
Macro68 has to be the BEST assembler on the Amiga yet available!
This is one great assembler; offering EXCELLENT flexibility and control, it
also is THE fastest assembler I have seen. Macro68 has a fantastic ability
to configure to whatever you want it to do. You can change most anything in
Macro68: from the opcodes, to the way Macro68 reports errors! It also
supports an external command interpreter (like ARexx).
Let's compare a few assemblers out there, starting with the PD
assemblers like A68K and the rest. These are OK if you are on a tight
budget (can you say free?), or you just want to try some stuff out in
assembly. But in reality, no one would ever use any of these to write
commercial-grade code. You can take a look at them, and play with them, but
not much else.
Now, SEKA: basically, if you got this, then get rid of it! Why? It
really is an old product. While it has some useful stuff in it like
reading/writing disk sectors directly (i.e., load Bootblock), has a
disassembler in it, and lets you modify memory directly, it also does not
support any of the '020 or above opcodes, and it has some major bugs!! This
product has NO support available, since no one is doing updates! (No one
worth mentioning that is.) Oh, it also uses non-standard opcodes, like
blk.l instead of the correct dcb.l.
Next on the list is ArgASM. Since this product is not supported
anymore (or so I am told), don't bother with this either. It also has some
major bugs in it and is basically SEKA with a face lift.
Next, we take a look at CAPE V2.5. This was actually a pretty good
assembler, but with a crummy editor built in. They also included a
standalone version without the editor. This product is not being produced
anymore, but I hear it still is being sold by INOVAtronics. This also does
not support any 68020/30/40/MMU opcodes. This assembler shows its age: it's
slow, and since the author has moved on to ADAPT, you should also move on....
Next is ADAPT (HX68). This is the update to CAPE, and it comes with
no built-in editor. It is a standalone program, has ARexx support, and
supports 68020 opcodes (maybe 030 & 040, but I only played with it a day or
so). It does not support the new syntax that Motorola has defined. This is
better than all the above, but still can't compare to Macro68!
Next we take a look at assemblers supplied with SAS/C and Aztec C.
Basically, they come free with the C compiler, and are not really that fast,
and neither support the new syntax that Motorola has defined. You can use
these; however, I found that they are more trouble too use, so why go
through the pain, unless of course you only write small programs in
assembly!
Finally, there's Devpac. This is a very nice assembler: it's fast,
has some good support, and the newest version also supports 68020 and
opcodes! It does not support the new syntax as defined by Motorola though!
Devpac has a nice editor built in, and allows you to control optimization
levels and other miscellaneous stuff via a control panel. It also has a
debugger which is fairly useful. No real problems with Devpac, but it does
not offer the level of customizing that Macro68 does. This assembler would
be my choice if Macro68 wasn't produced.
That is a quick look at what the competition offers, and none of them
can match what Macro68 has to offer. Macro68 even includes a utility to
convert all your old source code to the new syntax defined by Motorola!
In case you're wondering what the heck this new syntax is, its basically
a better way to code. I think a small example is in order.
Take this small code stub:
Old syntax New syntax
---------- ----------
move.l Gbase,a6 move.l (Gbase),a6
lea data(pc),a4 lea (data,pc),a4
jsr _LVOWait(a6) jsr (_LVOWait,a6)
move.w d1,20(a0) move.w d1,(20,a0)
While I won't go into what those instructions do, they do make it
more clear what's happening! Motorola did a nice job on this! Now, back to
Macro68. It's ultra configurable: the ONLY assembler I have used that
allows you to create your own opcodes! For example, some assemblers use the
opcode "blk.l" instead of the "dcb.l" instruction. If by chance you run into
source code that has this, you can instruct Macro68 that when ever it sees
"blk", to compile it as if it were "dcb"! You can even introduce new
opcodes in case, say, the '060 comes out with new instructions and you would
like to write '060 specific code. Just edit your custom file, insert the new
opcodes and how they should be translated, and voila! You have a 68060
compiler!
You can basically edit all the ASCII output that Macro68 produces
and change the way it reports errors (or whatever) too you. So, instead of
say "ERROR on line 322, invalid opcode," you want it to say "{turn on some
Blue text with a white background} ERROR! {change colors} invalid opcode on
line 322!" Or whatever... you can change lots of things, including adding
more information like what pass the compiler is on, the filename of the
source that contained the error (for compiling multiple source files), etc.
You can basically tell it what YOU want to see! You can change anything to
fit your needs.
Perhaps the best reason to get Macro68 is the speed. Today, I
compiled my 1485 lines of code in under 1 second! (On my A2000 + 68040.)
This assembler really is a speed demon! And that code contained lots of
"defines" from C= include files.
I really don't know what more to say. I truly believe that this IS
the BEST assembler ever produced. Nice job Digisoft! Oh, I forgot to
mention that Macro68 also supports the 68881/68882 floating point units and
the 688851 MMU. It also has support for the Amiga Copper, but I can't
recommend you use this since this only works with the older Kickstart: the
copper list has changed format in Kickstart 3.0!!! But it does work for
1.2/1.3/2.04 versions of the OS, and nicely at that!
DOCUMENTATION
The manual that comes with Macro68 is about 127 pages long and tells
you all the important information you need to get started. This manual does
NOT try to teach you assembly; so if you're a beginner, buy a good book.
Since I come from a technical background, I found the manual easy to
understand. It is better written than (say) the SUN SPARC manuals, but not
as nice as the SAS/C manuals. It also does a good job at explaining how to
configure files to suit your needs.