澤口@一升金です。 Shigeru Makinoさんの<4215BEBB.3060504@xxxxxxx>から >そのまま素直に、 >「CでRISCを高速に走らせたいなら、 >配列の添え字は止め、 >ポインターを上手に使うのが良い。」 >で、良かったかな? たしか、SHの場合はポインタによるメモリアクセスは ・グローバルベースをどこぞのレジスタにロード *場合によってはロード側、セーブ側別々のベースが必要 ・16bitオフセット付ロードニーモニックでどこぞのメモリか らレジスタにデータロード(間接アドレッシングとしたけれ ば、この16bitオフセットもレジスタのどれかに格納しておく) ・同じく、16bitオフセット付セーブニーモニックでどこぞの メモリにレジスタからデータをセーブ ・連続転送であれば、レジスタ間接アドレッシングとし、1ワー ド転送後にオフセット値格納レジスタをインクリメントしてお く という風になるんじゃないかと思います。 ペンティアムのように1命令で実効アドレスをインクリメントし ながらメモリ->メモリ転送するニモニックは無いわけです。 あとは、ちょっとクロスGCCの吐き出すアセンブラソースを眺めな いと確かめられませんが、 p++ = q++; がどう展開されているか興味あります。 (なにしろ、今入院中なもんで、データシートも参考書も手元にな く、具体的なことがあまり調べられないんで皆さんの参考にはなら んかも知れないですが)