条件付きアセンブルについて

RL78で条件付きアセンブルを行う方法についてご教授ください。

CS+のアセンブル・オプションにある定義マクロに追加した
マクロを使用して条件付きアセンブルを行いたのですが、
エラー(E0551215ラベルの記述に誤りがあります)が発生してうまくいきません。
CS+の定義マクロを使用して条件付きアセンブルを行うことは可能でしょうか?
可能であればその方法をご教授いただけないでしょうか。


CS+のアセンブル・オプションにある定義マクロにマクロを追加
TEST=1

アセンブラファイルで条件付きアセンブルを行う
$IF TEST==1
VALUE .EQU 0x00
$ELSE
VALUE .EQU 0x01
$ENDIF

$IF TEST==1
の記述に問題があるようでE0551215のエラーとなります。

Parents
  • CC-RLですよね?ユーザーズマニュアルを見ると

    $IF(TEST)

    と書くんじゃないのかと思います。
    すみません。
    CC-RLは使ったことがないのでマニュアル152ページを読んでの回答になります。

    https://www.renesas.com/jp/ja/document/mat/cc-rl-compiler-users-manual?r=488776

  • わわいさん Yamamotoさん

    アドバイスいただきありがとうございます。
    CS+のプロジェクトファイルの定義マクロに追加したマクロで
    下記の記述で条件付きアセンブルを行うことはできませんでした。

    $IF TEST==1
    VALUE .EQU 0x00
    $ELSE
    VALUE .EQU 0x01
    $ENDIF

    直を直接書けば条件付きアセンブルが可能でした。
    $IF 1
    VALUE .EQU 0x00
    $ELSE
    VALUE .EQU 0x01
    $ENDIF

    また、定義マクロを使用して条件付きアセンブルを行う場合、下記の記述ではうまくいきました。
    #IFNDEF TEST
    VALUE .EQU 0x00
    #ELSE
    VALUE .EQU 0x01
    #ENDIF

    上記の方法でやりたかったことはできたためこちらで対応しました。

Reply
  • わわいさん Yamamotoさん

    アドバイスいただきありがとうございます。
    CS+のプロジェクトファイルの定義マクロに追加したマクロで
    下記の記述で条件付きアセンブルを行うことはできませんでした。

    $IF TEST==1
    VALUE .EQU 0x00
    $ELSE
    VALUE .EQU 0x01
    $ENDIF

    直を直接書けば条件付きアセンブルが可能でした。
    $IF 1
    VALUE .EQU 0x00
    $ELSE
    VALUE .EQU 0x01
    $ENDIF

    また、定義マクロを使用して条件付きアセンブルを行う場合、下記の記述ではうまくいきました。
    #IFNDEF TEST
    VALUE .EQU 0x00
    #ELSE
    VALUE .EQU 0x01
    #ENDIF

    上記の方法でやりたかったことはできたためこちらで対応しました。

Children
No Data