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.