[comp.sys.amiga] Bug in A68k v2.42 recently posted to the binaries group.

tony@hp-sdd.hp.com (Tony Parkhurst) (05/26/89)

I am posting this bug report here because the author of A68k doesn't seem
to be on the Net, perhaps someone who knows him will pass this along.

I suspect this bug is new to this most recent version, as code assembled
from a previous version was correct.

The bug occurs in the calculation of the offset in PC offset addressing
in the movem instruction:  (here is the sample and resulting output.)


** This is a test program:


DataArea:
	dc.l	1
	dc.l	2
	dc.l	3
	dc.l	4

Test:
	movem.l	DataArea(PC),d1-d4
	rts

	END
**

[and here is the .lst output]


                                                        test.asm        Page 1

68000 Assembler - version 2.42 (January 10, 1989)
Copyright 1985 by Brian R. Anderson.
AmigaDOS conversion copyright 1989 by Charlie Gibbs.

                                      1 ** This is a test program:
                                      2 
                                      3 
000000                                4 DataArea:
000000  00000001                      5         dc.l    1
000004  00000002                      6         dc.l    2
000008  00000003                      7         dc.l    3
00000C  00000004                      8         dc.l    4
                                      9 
000010                               10 Test:
000010  4CFA001E FFEE                11         movem.l DataArea(PC),d1-d4
		 ^^^^

		 This should be FFEC !!!!!!!!

000016  4E75                         12         rts
                                     13 
000018                               14         END

End of assembly - no errors were found.
Heap usage:  -w2047,33
Total hunk sizes:  18 code, 0 data, 0 BSS


PS,  when I tried to generate a listing on the Amiga with the -x option,
I got Guru'd two times in a row.


-- Tony

-- 

Tony Parkhurst	( tony@hp-sdd.HP.COM )

"Is this Hell?  Or is this Texas?" "Both" -- Heinlein, _J_O_B: _A _C_o_m_e_d_y _o_f _J_u_s_t_i_c_e