Embedded Workbench for RL78 v2.xxバージョン以降で、アセンブラのビット操作命令でエラーになる
テクニカル・ノート 181235J
アーキテクチャ:
RL78
コンポーネント:
assembler
更新日:
2019/02/18 9:18
はじめに
IAR Embedded Workbench for RL78はバージョン2.xx以降、アセンブラの記述のビット操作命令などで、dot(.)の使用をする際は注意が必要です。本テクニカルノートでは、バージョン2.xx以降で、アセンブラ記述でdot(.)を使用する場合の対策について説明します。
解説
IAR Embedded Workbench for RL78 v1.xxからv2.xx以降にバージョンアップ後に、アセンブラのビット操作命令でエラーになるという場合、以下3つのうちどれかに変更を実施していただきますようお願いします。
BUF equ 0xfff00
- ビット位置を数字に変更する
MOV1 CY,BUF.0 - (.)の後にスペースを入れる
MOV1 CY,BUF. BIT - Cプリプロセッサの書式を使用する
#define BIT 0
MOV1 CY,BUF.BIT
[参考]
v2.1xより、アセンブラパーサーが Renesas ABIに準拠しました。 ELFのセクション名(を構成する文字)には(".")が含まれるので、version 2.x 移行のパーサが(識別子を構成する)文字として "." を含めるようになりました。これには、副作用があり、
MOV1 CY,FSSQ.SQST_u01
はversion 1.xでは有効ですが、version 2.xではエラーになります。理由はversion 2.xでは、FSSQ.SQST_u01は1つのシンボルとなってしまうからです。
まとめ
IAR Embedded Workbench for RL78 v1.xxからv2.xx以降へ移行する場合は、上記の点をご注意ください。
全ての製品名は、それぞれの所有者の商標または登録商標です