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