*(char*)0x20000001=0xFF;
*(short*)0x20000001=0x8888;
кладется по адресу 0x20000000 и 0x20000001.(((
Кто нибудь может обьяснить чья это "фича" - ARMа или Кейла?
И самое главное как это обойти - массивы в памяти выделяются динамически
и гарантировать что в ходе выполнения программы адрес short будет четным
никак(((.