Welcome, Guest. Please login or register.

Author Topic: Name this Guru  (Read 2289 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline Karlos

  • Sockologist
  • Global Moderator
  • Hero Member
  • *****
  • Join Date: Nov 2002
  • Posts: 16882
  • Country: gb
  • Thanked: 6 times
    • Show all replies
Re: Name this Guru
« on: June 14, 2004, 12:15:38 AM »
Quote

Cymric wrote:
Quote
Piru wrote:
Not quite. On 68000 and 68010 this is caused by using WORD or LONG access on odd address or by jumping to odd address or by odd supervisor stackpointer on exception.
On 68020+ this is only caused by instruction prefetch attempt from odd address (jump/branch to odd address) or by odd supervisor stackpointer during exception.

Thanks for the input, it's been a while. I must admit you mention things I cannot seem to remember, though. I was always told that the 68020 was indifferent to odd addresses and just used another memory access if it encountered one, save for odd stackpointers, be them user or supervisor. (In other words, SP must be even at all times, (SP) can be arbitrary.) But like I said, it's been a while.


As I recall, one of the features of the 020 was that it could handle misaligned data access - but only data. Instruction addresses and the stack (which naturally may contain return addresses for code), however, must still be aligned.
int p; // A