09/06/06 04:28:45
1.5ヶ月ぶりにまともな質問です。H8/300H TinyシリーズにH8Sで書いたソフトを移植する仕事
の引き合いが来ました。 36064のpdfをダウンして読みながらへうで雛形を書いています。
こんな小さい石までルネサス共通のアーキテクチャに合わせてERnになってるんですね(*o*)
文字列を渡すサブルーチンを見たら、void func(*src) { の中で、
MOV.W R0,R2 引数の文字列アドレス
L110: (doのラベル)
MOV.B @ER2+,R0L (*引数++のアドレッシング) ・・・となっていました。
前置きが長くてすいません。では質問: あれ?ER2の上位は?と気になったので聞きにきました。
この石ではアドレス空間は0~FFFFですから、ERnの上位が何であってもメモリアドレスは
この空間にラップアラウンドしてアクセスされる、 と理解してよいですか?
初期化でEnを全部ゼロに、とかも考えたのですが、計算の一時記憶としてEnが使われたり
したらずっとゼロの保証はありませんよね。