Robert Seczkowski wrote:

In mspgcc documentation states, that
when doing mov.b &x,R14 only higher byte is changed
lower byte of r14 stays unchanged.

realy? where? because thats wrong.
byte operation use the lower byte of the register and clear the upper eight bits.

I made simulation on IAR compiler and any write
to register change whole content filling the rest with zero.
like: mov #0xFFFF,r15;
mov.b #1,r15; gives 1 in return

like it should be.

Also mspgcc says, addressing odd with word values is not documented
I made test (as above) and ie:
mov #0xF1F1,&0x1FF
mov &0x1FF,r15 ;gives 0xF1F1 contents so it works!?

no, it doesnt. well, the real msp also simply ignores to lowes address bit when accessing words, but the databook says that the behaviour is not defined. translated means this: sure it does something (it even does it in adeterministic way), but it can change the behaviour from part to part and you must not code your programs to use these "features".

chris

Does it means IAR simulator is not worth a cent?


robert



Reply via email to