• ベストアンサー

アセンブラ(アセンブリ?)に関する質問

アセンブラのプログラムを学んでいる時に、 MOV.B @(TBL01,ER0)、R3H というところがでてきました。 この中の TBL というのが宣言されてなく、よくわかりません。 また、@(,)の意味もわかりません。 知識のある方、どうか教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • syunpon
  • ベストアンサー率42% (9/21)
回答No.4

こんにちは~再び登場です(^^; やはしH8/3048というCPUでよかったんですね。 私はH8CPUは全然知らなかったんですけどネットでいろいろ調べてみたら 参考URLのところに「ディスプレースメント(オフセット)つきレジスタ間接 」 とありましたのでTBL01とER0レジスタの内容を足したメモリ番地の内容を R3Hレジスタに転送するっちう意味でないですかね? どっかでTBL01に具体的な値を定義してないですか?TBL01の部分がオフセットに なるようなのですが。。。 参考URLにH8ユーザのメーリングリストがありましたので、そこで聞いてみるのも良いかもです。。

参考URL:
http://plaza9.mbn.or.jp/~a_hiramatsu/h8/h8index.html
shunsuke
質問者

お礼

2度もの回答、ありがとうございますー。 参照URLのほうも拝見し、これから活用させていただきます。 質問の件ですが、いくつか調べるうちにじつはプログラムに問題があるだけでなく、その大半はハードにあることが判明いたしました。お答えいただいた方々、どうも申し訳ありませんでした。しかし、H8/3048についてこれだけの人が答えてくれたことはとても心強かったです。 syunponさん、arikaさんありがとうございました。

その他の回答 (3)

  • arika
  • ベストアンサー率9% (18/186)
回答No.3

なんかの本にでてたのでしたら、 そのサンプルプログラムを掲載していただければ、 もう少し詳しく説明できそうですが。

shunsuke
質問者

補足

卒研の内容なのでどこまで言っていいのかよくわかりませんが・・・。 H8/3048を使って、A/D変換のプログラムを作っているんですけど、現在の状況だと機器で読み取った10進数の値を16進数でA/D変換し、それを10進数で保存するまでで、マイナスの測定値だとすべて0000という形になってしまうんです。それをマイナスの測定値もちゃんとマイナスの値として保存できるようにするのが今の課題なのですが、周りにはアセンブラを教えてくれる人がいなくて困っているといった状況です。 今のプログラムがどういった経緯で作られたものかよくわからないのでプログラムを掲載するのは確認後というわけで。

  • arika
  • ベストアンサー率9% (18/186)
回答No.2

対象CPUがわかんないんで、なんともですが、H8シリーズとした場合、 TBLはTBL01っていうので読まれている本に説明がないですか?なんかのラベルでしょうきっと。 @(、)はER0+TBL01で示されるアドレスのデータ内容ってな意味でしょう。 もし、H8ならば、日立さんのHPにアセンブラの表記についての資料があるはずなんで、みてください。(最近いっていないので場所は不明)

shunsuke
質問者

お礼

お礼の返事が送れたことをお詫びします。 このようなあいまいな質問に答えてくれてどうもです。 なんかわかったようなわからないようなカンジですが、マニュアルとのにらめっこを続けてみます。

  • syunpon
  • ベストアンサー率42% (9/21)
回答No.1

アセンブラなんてもう何年も見てないんでちと自信ないんですけど。。 誰も回答していらっしゃらないようなので。。(^^; 最初MASMというマクロアセンブラかと思ったんですけど、微妙に表記が違うようですね。 Z80アセンブラでもなさそうだし。。。 ***.BとかR3Hとか言う表記なので16ビット以上のCPUだとは思うんですけど。。 で、ざっと検索かけて調べてみたんですが、おそらくH8/3048FというCPUのアセンブラではないかと。。。←自信なし。。(^^; そちら方面で調べてみると良いかもです。 アセンブラつってもCPUごとに違うんで何のアセンブラなのか補足してもらえれば答えてくれる人いるかもです。

shunsuke
質問者

お礼

お礼の返事が送れたことをお詫びします。 このようなあいまいな質問に答えてくれてどうもです。 H8/3048シリーズ、です。説明不足で申し訳ありません。 マニュアルとのにらめっこが続きそうです。