いんてるすげええええ
いや、メモリの奇数番地からshortで値を読み書きしたときって普通は「異常値」になると認識していたのですが、
IntelCPUはそんなことなく、ふつーに値が読めるらしい。
おろどきもものきさんしょのき。
char data[10] = { 0,0xff,0xff,0,0,0,0,0,0,0, }; unsigned short* value = (unsigned short*)&data[1]; printf("0x%x(%d)", value, *value ); *value = 1000;
これ、IntelCPUだと動くんだねぇ。
ARM7だとだめだめです。
奇数番地から読む場合は、上位バイト、下位バイトをそれぞれとって、
シフトして|するしかないので、なんだか驚いた。
もしかしていまのCPUは当たり前なのかしらん。
や、ARM9でも駄目だったけど。
ということで、移植性を考えると奇数番地にshortやintなどを読み書きするのは駄目です。