t-iwaと申します、初めて投稿します。当方、μPD78F1502Aの、過去のファームウェアを確認しています。その中で、変数のRAM上の絶対番地を知りたく、Assemble list(拡張子.pのファイル)を見ております。そこで、下記の記述を見つけました。 $DGS AUT_VAR, _amp_flow_data, 014H, 0FFFFH, 05H, 01H, 00H, 00Hこれが、変数amp_flow_dataのRAM上絶対番地を表していると思っているのですが、 1.それぞれの16進数が何を表しているのか。 2.具体的には、FE300H?~FFEDFH? のどこの番地を表しているのか。 3.ユーザーズマニュアル等のどこかに記載されているのか。を存じ上げないでしょうか。(7514とかH8の頃までで実務を離れてしまって、今浦島で・・・)教えてで申し訳ありませんが、宜しくお願い致します。
チョコです。
CA78K0Rのドキュメントを探したのですが、見つかりませんでした。従って、各16進数が何を表しているかは分かりません。
しかしながら、「AUT_VAR」は自動変数で、ローカル変数で使われています。従って、領域としては、スタック領域に確保されるので、アドレスをこの情報から _amp_flow_dataを特定することはできないかと思います。
以上
t-iwaです、早速のご回答ありがとうございます。
たしかにローカル変数だと番地が特定できないですね。失礼しました。
自分もCC-RLのドキュメントを調べましたが、そちらにも載ってませんでしたか。
この辺りの記述、どこに載っているんでしょうね。
もう少し、調べてみます。ありがとうございました。
t-iwaさん、こんにちは。NoMaYと申します。> もう少し、調べてみます。確か、$DGSの他に$DGLというものがあり、どちらも一旦CソースからASMソースを生成させて、生成させたASMソースから更にRELファイルを生成させて、というようなことをした場合にでもCソースレベルデバッグが出来るようにする為の、基本的にユーザが関知するものでは無い(つまりコンパイラ自身/アセンブラ自身の為の)情報です。そのような情報を読み解かなくても、グローバル変数のアドレスを知りたいのであれば、20年ぐらい前?でも現在でも、マップファイルを見るというのが標準的やり方だと思いますが、そのやり方はまだされていないのですか?(何か事情があるのかも知れませんけれども?)
i-iwaです。ご回答ありがとうございます。
mapファイル確認しました。grepで見落としてました(汗;)
実務がアセンブラで止まっていて、コンパイラの生成ファイルを把握してませんでした。
お恥ずかしい限りで・・・。
ありがとうございました。