Renesas Synergy™

FAQ 1008032 : unsigned char型のデータを多く使うと、コード効率が悪くなりますか?

回答

V850マイクロコントローラでは、バイト・データ、ハーフワード・データをメモリからレジスタにロードする場合、 最上位ビットの値によりワード長へ符号拡張します。
このため、unsigned char、unsignd short型データの演算では、 上位ビットのマスク・コードが生成される場合があります (データがすでにレジスタ上にある場合の演算では生成されません)。
できるだけワード・データを使用するようにしてください。
また、バイト・データ、ハーフワード・データを使用する場合は、 符号付きの型を使用するようにしてください。



V850Eでは、unsigned のロード命令がサポートされています。
そのため、符号拡張は行われず、マスク・コードは生成されません。



ワード・データを用いることができず、マスク・コードが生成されてしまうプログラムの場合、 マスク・レジスタ機能を利用することによってコード・サイズを削減することができます。

  

適用製品

V850用コンパイラパッケージ [CA850]

 

他にご質問がございましたら、リクエストを送信してください