命令の幅指定子

命令の幅指定子 .W および .N は、ARMv6T2 以降向けにアセンブルされる Thumb コードの命令サイズを制御します。

Thumb コード(ARMv6T2 以降)では、.W 幅指定子を設定することにより、16 ビットエンコーディングが使用できる場合でも、アセンブラで 32 ビットエンコーディングが行われます。.W 指定子は ARM コードとしてアセンブルするときには無視されます。

Thumb コードで .N 幅指定子を設定すると、アセンブラで 16 ビットエンコーディングが使用されます。このとき、命令が 16 ビットでエンコードできない場合や .N を ARM コードで使用した場合には、エラーが発生します。

命令の幅指定子は、命令ニーモニックと条件コードの直後に置きます。次に例を示します。

    BCS.W   label   ; 短分岐の場合も 32 ビット命令を適用する
    B.N     label   :ラベルが 16 ビット命令の範囲外の場合はエラーが発生する
Copyright © 2010-2011 ARM. All rights reserved.ARM DUI 0489EJ
Non-ConfidentialID081711