inteと申します。
今回、RXでのアセンブラについて分からない事があり質問させていただきます。
どうしてもアセスメントで記述が必要な機能のコーディングをしているのですが、
1行、コンパイルエラーになってしまう原因が分かりません。
コンパイルエラーになるコードは下記になります。
mov.L #A0000000h,r13
エラー内容はSymbol is undefined
この即値を下記の様に変更するとコンパイルは正常に行われました。
mov.L #80000001h,r13
ソフトウェアマニュアルによると、A0000000hも80000001hもロングの範囲内なので
一見、問題なさそうですが、何故A0000000hだとコンパイルエラーになるのでしょうか。
よろしくお願いします。
Inteさん、こんにちは。NoMaYです。これは英字で始まる文字列はシンボルと解釈されるからです。(ふつうに一般的な仕様です。) ですので、Aの前に0を付ければ良い筈です。誤)mov.L #A0000000h,r13正)mov.L #0A0000000h,r13
後追いですが、コンパイラのマニュアルにも書いてはあります。アセンブラ言語仕様 - 5.1.5 オペランド部の記述方法http://tool-support.renesas.com/autoupdate/support/onlinehelp/ja-JP/csp/latest/CS+.chm/Compiler-CCRX.chm/Output/ccrx05c0105y.html
ほやさん
ありがとうございます。
コンパイラマニュアルも目を通したつもりでしたが、見落としていました。