ARMアセンブリ命令学習:[0]符号化フォーマットと条件符号ドメイン

1815 ワード

ARMアセンブリ命令学習:[0]符号化フォーマットと条件符号ドメイン


一、ARM指令の符号化フォーマット


31 28
27 21
20
19 16
15 12
11     0
cond
opcode
S
Rn
Rd
shifter_operand
次のようになります.
  • cond[31-28]4-bit命令実行の条件符号化
  • opcode[27-21]4-bit指令オペレータ符号化
  • S[20]1-bit決定コマンドの動作がCPSRの値
  • に影響するか否かを決定する.
  • Rn[19-16]4-bit第1オペランドを含むレジスタ符号化
  • Rd[15-12]4-bitターゲットレジスタ符号化
  • shifter_Openrand[11-0]12-bitは2番目のオペランド
  • を表す
    典型的なARM命令構文は次のとおりです.
    {}{S} ,,
    

    次のようになります.
  • 指令アシスト
  • {}命令実行の条件
  • {S}決定コマンドの動作がCPSRの値
  • に影響するか否かを決定する.
  • は、ターゲットレジスタ
  • を示す.
  • は、1番目のオペランドを含むレジスタ
  • を示す.
  • は、2番目のオペランド
  • を示す.

    二、ARM指令の条件コードドメイン


    じょうけんコード
    じょうけんコードほじょうき
    意味
    CPSRにおける条件フラグビット値
    0000
    EQ
    等しい
    Z=1
    0001
    NE
    等しくない
    Z=0
    0010
    CS/HS
    符号なし
    C=1
    0011
    CC/LO
    符号なし
    C=0
    0100
    MI
    負数
    N=1
    0101
    PL
    非負の数
    N=0
    0110
    VS
    オーバーフローアップ
    V=1
    0111
    VC
    あふれないで
    V=0
    1000
    HI
    符号なし
    C=1かつZ=0
    1001
    LS
    符号なし
    C=0かつZ=1
    1010
    GE
    符号付き数が大きい/等しい
    N=1、V=1又はN=0、V=0
    1011
    LT
    符号付き数が小さい
    N=1、V=0またはN=0、V=1
    1100
    GT
    帯記号数が大きい
    Z=0かつN=V
    1101
    LE
    符号付き数が小さい/等しい
    Z=1またはN!=V
    1110
    AL
    無条件実行
    1111
    NV
    このコマンドは実行されません
  • 個人用ページ:http://www.techping.cn/
  • 私の個人サイトブログ:http://www.techping.cn/blog/wordpress/
  • 私のCSDNブログ:http://blog.csdn.net/techping
  • 私の:http://www.jianshu.com/users/b2a36e431d5e/timeline
  • 私のGitHub:https://github.com/techpingようこそお互いfollow~