Re: [hatari-devel] 68000: Wrong order of bus accesses for move.l xx,-(Ay)

[ Thread Index | Date Index | More Archives ]

Toni Wilen schrieb:

> This should fix it. Also fixes exception stack frame fault address if
> MOVE.L ea,-(an) causes address error.

Thank you. I didn't try applying the patch to Hatari source code, so I
have to ask: Does it also fix MOVEM.L xx,-(An), which also writes in
descending order?

Also, this issue prompted me to go through the "YACHT" document, looking
for unusual access patterns. For example ADDX.L -(An),-(Ay) does the
*reads* in descending order. I have tested on a real 68000 that...

LEA $0,A0
LEA $1000,A1
ADDX.L -(A0),-(A1)

.... does in fact generate the bus error at $FFFFFFFE. In Hatari (and
thus in the UAE emulation) it will generate the bus error at $FFFFFFFC.
Same goes for SUBX.L. The writes are also in descending order, as I just

Christian Zietz  -  CHZ-Soft  -  czietz@xxxxxxx
PGP/GnuPG-Key-ID: 0x52CB97F66DA025CA / 0x6DA025CA

Mail converted by MHonArc 2.6.19+