A64
読み:エイろくじゅうよん
外語:A64 instruction set
AArch64で使われている、64ビット環境用の命令セット。命令語自体は32ビット単位の可変長である。
概要
64ビット化されたARMv8から追加された、64ビットの実行モード(AArch64)用の命令セットアーキテクチャー(ISA)である。
従来の32ビット環境AArch32に存在したThumb命令は、AArch64にはない(将来的に作られるかどうかも不明)のため、現時点では64ビット用として唯一の命令セットである。
特徴
命令
A64命令セットには、次のような特徴がある。
Cond
A32では全命令に存在した実行条件(Cond)は、A64では比較命令などに限定となった。16種類のCondは、A32やT32と共通である。
- 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 AND Z=0)
- 1001 = LS ‐ ≦(符号無し) (C=0 OR Z=1)
- 1010 = GE ‐ ≧(符号あり) (N=V)
- 1011 = LT ‐ <(符号あり) (N≠V)
- 1100 = GT ‐ >(符号あり) (Z=0 AND N=V)
- 1101 = LE ‐ ≦(符号あり) (Z=1 AND N≠V)
- 1110 = AL ‐ 無条件
- 1111 = NV ‐ (使用禁止)
再検索