I have been researching the problem a bit further and can tell that my
initial solution is not valid as the skyeye test does not run.
I have assumed that the load halfword method has only been used by ldr
instructions to load the values into a register. According to the arm7
documentation a ldrh should clear the upper 16 bits (if I have not
misunderstood something) so that should also be ok, and my program
only works when the upper bits are cleared (I use the codesourcery
compiler).
I did not realize that there is actually another version of the method
“ARMul_LoadHalfWord” in file armvirt.c (should have been a bit more
awake). This version that is left out, is actually doing what I am
looking for. I have had a look in the svn source view on the home
page, but I have not been able to locate why this method is not used.
I would appreciate any information about why the old method is not
used any more or if somebody has an idea about where I can continue to
look for a solution.
Thanks,
Thomas