質問: shの命令の意味について shの、 mov.l @(h'104:8,pc),r6 の意味がソフトウェアマニュアルをみてもよくわかりません。 ソフトウェアマニュアルをみると、pcに0x104を加えた値をr6にムーブ すると読めるのですが、pc(0x000017dc)に対してr6は0xffffe6b0に なります。 0x000017dc+0x104のメモリをみましたが、0xffffe6b0は見当たりません。 どなたかアドバイスお願いします。
回答: 自分はshシリーズを使った事は無いが、アセンブラは齧った事があるのでちょっとだけ突っ込みを。 以下のマニュアルにざっと目を通してみた。 http://documentation.renesas.com/jpn/products/mpumcu/rjj09b0228_shprogram.pdf mov.l @(disp:8,pc),rnの命令の動作を見ると、質問者殿の説明と微妙に異なり (disp×4+pc)→rn と書かれている。 自分はshのアセンブラを知らないので、ディスプレースメント(h'104)の意味に今一確信が持てないんだが、もしも想像通り16進でのイミディエイト値であるなら ( 0x104 × 4 + pc ) → r6 となるべきだと思うのだが、どうだろう。 #マニュアルは良く読もうね