[comp.sys.amiga] asm1.1

grwalter@watmath.UUCP (03/24/87)

Unless I am mistaken, the shareware assembler on Fish Disk 50 is so buggy
as to be unuseable.

It seems that the assembler produces incorrect code for a lot of
instructions. Thus if you have been trying to write in assembler and have
been using it ... you will have been very frustrated.

Are there any freely redistributable assemblers out there ? I have been
working on the compiler on Fish Disk 53 and it produces assembler source 
ie. an assembler is needed to use this compiler (though with GNU C that
runs on 680X0 available, I wonder how useful working on this compiler will
be).

Below is a small example showing what I mean. This is a small program that
Asm1.1 assembles with out any complaints.

-----------------------------------------
      xref        x

      addq.l      #1,d0
      subq.l      #1,d3
      add.w       d0,d3
      add.l       d3,d4
      add.l       d0,8(a6)
      sub.b       x,d2

      data
      ascii       "So far so good."
-----------------------------------------

When the resulting object is disassembled (using the disassembler that
comes with Lattice 3.10) we see

-----------------------------------------
LATTICE OBJECT MODULE DISASSEMBLER V2.00

Amiga Object File Loader V1.00
68000 Instruction Set


SECTION 00 "" 00000014 BYTES
0000 5300                       SUBQ.B    #1,D0
0002 5303                       SUBQ.B    #1,D3
0004 D680                       ADD.L     D0,D3
0006 D903                       
0008 D12E0008                   ADD.B     D0,0008(A6)
000C 9479 00000000-XX           SUB.W     x,D2
0012 4E71                       NOP

SECTION 01 "" 00000000 BYTES

SECTION 02 "" 00000000 BYTES
-----------------------------------------

Apparently none of the commands in that example assembled correctly. The
problem could be with the disassembler though, so the source program
(with the 'ascii' and 'data' directives changed to the appopriate ones)
was assembled using the Lattice 3.10 assembler.
When the resulting object code was disassembled, we see

-----------------------------------------
LATTICE OBJECT MODULE DISASSEMBLER V2.00

Amiga Object File Loader V1.00
68000 Instruction Set


SECTION 00 "" 00000014 BYTES
0000 5280                       ADDQ.L    #1,D0
0002 5383                       SUBQ.L    #1,D3
0004 D640                       ADD.W     D0,D3
0006 D883                       ADD.L     D3,D4
0008 D1AE0008                   ADD.L     D0,0008(A6)
000C 9439 00000000-XX           SUB.B     x,D2

SECTION 01 "words" 00000010 BYTES
0000 53 6F 20 66 61 72 20 73 6F 20 67 6F 6F 64 2E 00 So far so good..

SECTION 02 "" 00000000 BYTES
-----------------------------------------

Thus the only thing that can be concluded is that Asm1.1 on Fish Disk 50
doesn't work. 

	fred

 CSNet: grwalter@watmath.waterloo.edu
  UUCP: {ihnp4,decvax,allegra,utzoo}!watmath!grwalter
CDNnet: grwalter@watmath.waterloo.cdn
  ARPA: grwalter%watmath.waterloo.edu@csnet-relay.arpa

dougl@ism780c.UUCP (03/28/87)

In article <6301@watmath.UUCP> grwalter@watmath.UUCP writes:
>Unless I am mistaken, the shareware assembler on Fish Disk 50 is so buggy
>as to be unuseable.

Being the author of this beast I can completely agree with him.  After I
sent it out I got caught up in enough other work, that I didn't find out how
bad it was till it was too late.  I currently have a third release which
I am using as part of various PD C compilation systems I am toying with.
These include both the PD C compiler from the fish disks as well as GNU C.
I have also made this third release available to a few people for further
testing.  When I've very confident there seems to be reasonably bug free,
I'll make a third release (I've already had two strikes, I'm not trying
for three).

If there are people interested in being beta testers, contact me.

People interested in helping bring up the GNU C how about if we coordinate
with me?  I have a prelease of the system, and have done some evaluation,
and I have some ideas on what needed to get done.  Being a compiler writer
by trade, I would REALLY like to have a GOOD C compilation system available.

		Doug Leavitt
		{ sdcrdcf, seismo, ... } !ism780c!dougl