HomeForumsWhat's newResources 
 
 
Word access, high and low bytes
patroclus02 - May 9, 2006
   patroclus02 May 9, 2006 
If you do a move.W #$FF00, $200000, both /LWR and /UWR will assert, and 16 data bits will be driven.

Low byte goes to $200000, and high byte goes to $200001

Ok, now, suppose you do move.W #$FF00, $200001

What happends there??

Low byte goes to $200001, and high byte goes to $200002? but how would /LWR and /UWR?

Assembler warnings, that the adress is not aligned. But, what would happend??

Ok, this question is because I'm confused.

Many ROMs connect A0 to 68k A1, ignoring A0. If you write 16 bits to a EEPROM, and you do

move.W #$FF00, $200001

it will address same EEPROM address as

move.W #$FF00, $200000

copied data would be the same?

what happends if

move.L #$FF00DDAA, $200000

it will write DDAA to $200000

and FF00 to $200002 ?

:huh

   Mask of Destiny May 9, 2006 

  
Originally posted by patroclus02@Tue, 2006-05-09 @ 02:18 PM

Ok, now, suppose you do move.W #$FF00, $200001

What happends there??



A bus error. It's illegal to do word-wide access on an odd address on the 68K.

   cgfm2 May 9, 2006 
BTW, if you haven't read it I strongly suggest reading this manual:

http://www.freescale.com/files/32bit/doc/r...l/MC6...

It explains all the signals, all the bus cycles, and has pretty much everything you'd want to know about interfacing stuff to the 68000.

   patroclus02 May 9, 2006 
Thank you

   ExCyber May 9, 2006 

  
Many ROMs connect A0 to 68k A1, ignoring A0.

A0 isn't being ignored, it's not there in the first place because it's a 16-bit bus.