PKHBT、PKHTB

ハーフワードパック命令です。

あるレジスタに保持されているハーフワードと別のレジスタに保持されているハーフワードを結合します。オペランドの 1 つは、ハーフワードを抽出する前にシフトできます。

Show/hide構文

PKHBT{cond} {Rd}, Rn, Rm{, LSL #leftshift}
PKHTB{cond} {Rd}, Rn, Rm{, ASR #rightshift}

各項目には以下の意味があります。

PKHBT

Rn のビット [15:0] とシフトされた Rm の値のビット [31:16] を結合します。

PKHTB

Rn のビット [31:16] とシフトされた Rm の値のビット [15:0] を結合します。

cond

任意の条件コードを指定します。

Rd

デスティネーションレジスタを指定します。

Rn

第 1 オペランドを保持するレジスタを指定します。

Rm

第 1 オペランドを保持するレジスタを指定します。

leftshift

0 ~ 31 の範囲内にある値を指定します。

rightshift

1 ~ 32 の範囲内にある値を指定します。

Show/hideレジスタの制約条件

レジスタには PC は使用できません。

SP は A32 命令で使用できますが、これは非推奨です。T32 命令では SP は使用できません。

Show/hide条件フラグ

これらの命令によるフラグへの影響はありません。

Show/hide可用性

これらの 32 ビット命令は A32 および T32 で使用できます。

T32 にはこれらの命令の 16 ビットバージョンはありません。

Show/hide

    PKHBT   r0, r3, r5          ; R3 の下位ハーフワードと
                                ; R5 の上位ハーフワードを結合する
    PKHBT   r0, r3, r5, LSL #16 ; R3 の下位ハーフワードと
                                ; R5 の下位ハーフワードを結合する
    PKHTB   r0, r3, r5, ASR #16 ; R3 の上位ハーフワードと
                                ; R5 の上位ハーフワードを結合する

また、異なるシフト値を使用して、第 2 オペランドを位取りすることもできます。

Show/hide誤用例

    PKHBTEQ r4, r5, r1, ASR #8  ; PKHBT では ASR を指定できない

Show/hide関連項目

Copyright © 2014 ARM. All rights reserved.ARM DUI 0802AJ
Non-ConfidentialID061814