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