Nios II Gen2 プロセッサー・リファレンス・ガイド

ID 683836
日付 10/28/2016
Public
ドキュメント目次

8.4. アセンブラー・マクロ

Nios II アセンブラーは、ラベルおよび 32 ビットの即値からハーフワードを抽出するマクロを提供しています。これらのマクロは、使用されている位置に応じて 16 ビットの符号付きの値または 16 ビットの符号なしの値を返します。これらのマクロは、16 ビットの符号付き即値を必要とする命令で使用すると、-32768 ~ 32767 の範囲の値を返します。これらのマクロは、16 ビットの符号なし即値が必要な命令で使用すると、0 ~ 65535 の範囲の値を返します。
表 99.  アセンブラー・マクロ
マクロ 説明 演算
%lo(immed32) immed32 のビット [15..0] を抽出 immed32 & 0xFFFF
%hi(immed32) immed32 のビット [31..16] を抽出 (immed32 >> 16) & 0xFFFF
%hiadj(immed32) ビット [31..16] を抽出し、immed32 のビット 15 を追加 ((immed32 >> 16) & 0xFFFF) +

((immed32 >> 15) & 0x1)

%gprel(immed32) immed32 アドレスをグローバル・ポインターからのオフセットに置き換え immed32 –_gp

グローバルポインターの詳細は、「Nios II プロセッサー・リファレンス・ハンドブック」の「アプリケーション・バイナリー・インターフェイス」の章を参照してください。