We have been using PowerPC eieio(Enforce-In-Order Execution of I/O assembly language instruction on Freescale MPC500 Famil Microcontrollers.
Can we use this instruction on Freescale MPC5500 Family Microcontrollers for example MPC5566? If yes, do we need to modify any registers to mak this instruction work?
thanks.
Didn't find your answer? Ask the community — no account required.
D
Didi
It is mandatory to the architecture, so yes, you can use it. On some implementations (like the 603e) it is in effect a NOP, because the core does not do reordering anyway. But including it will guarantee code portability between platforms so it is a good idea. You do not have to alter any registers to use it nor will it have any direct effect on any registers.
I've always thought that "eieio" was the most musical opcode of any cpu. Do you think IBM picked the name first, then tried to figure out a plausible sounding effect for the instruction?
J
jani
Microcontrollers,
make
I think there is no eieio instruction in MPC5566. Check pages 3-20 and 3-21 of the e200z6 core reference manual.
formatting link
There is no eieio instruction listed in the list of instructions sorte alphabetically.
D
Didi
The e500/e200 core does indeed treat eieio a bit differently, they call it "MBAR" there. The opcode is the same, and there is a HID register bit to switch the function of the eieio between traditional and e200/500 core like indeed. Using it wherever you would have used it formerly is still a good idea, though.
No idea what the guy at IBM did, but I know how I make abbreviations. I got enough training on that during the up to 6 characters times of old Motorola assemblers; I still tend to make labels that short, although they can be longer. If something memorable, funny, or too ugly sounding to be memorized on the spot comes to mind, I just do not waste time and I use it... I also like the eieio name, does not need a second look at it to be remembered (unlike many of the PPC instructions from the architecture, the assembler in that form is not really usable for anything larger than a page or so). The 6809 syntax used to call "SEX" the sign extend opcode - not bad, hits you by surprise and here I still remember it after all these years.
Ok, going off-topic: The Atari Jaguar CPU had nice a opcode : sharq (shift arithmetic right quick).
BTW: Not only the "a label has max. 6 characters" influenced a lot. Also the good 8+3 filenames ;-) (I'd say 99% of my source files,still are 8+3 :-)
Wasn't it the ancient masm which allowed an arbitrary length for the labels, but just took the first 8 into account: It did cost me some nightly hours.
42Bastian
Do not email to bastian42@yahoo.com, it's a spam-only account :-)
Use @monlynx.de instead !
Join the Discussion
Have something to add? Share your thoughts — no account required.
Didn't find your answer?
Ask the community — no account required
Report Content
You are reporting this content to the moderators. They will look at it
ASAP.