You copied the Doc URL to your clipboard.

instruction set overview

Table 7 describes some of the functional groupings of the instructions in A64.

Table 7. A64 instruction groups

Instruction group


Branch and control

These instructions do the following:

  • Branch to and return from subroutines.

  • Branch backwards to form loops.

  • Branch forward in conditional structures.

  • Generate and return from exceptions.

Data processing

These instructions operate on the general-purpose registers. They can perform operations such as addition, subtraction, or bitwise logic on the contents of two registers and place the result in a third register. They can also operate on the value in a single register, or on a value in a register and an immediate value supplied within the instruction.

The addition and subtraction instructions can optionally left shift the immediate operand, or can sign or zero-extend and shift the final source operand register.

includes signed and unsigned 32-bit and 64-bit multiply and divide instructions.

Register load and store

These instructions load or store the value of a single register or pair of registers from or to memory. You can load or store a single 64-bit doubleword, 32-bit word, 16-bit halfword, or 8-bit byte, or a pair of words or doublewords. Byte and halfword loads can either be sign-extended or zero-extended to fill the 32-bit register. You can also load and sign-extend a signed byte, halfword or word into a 64-bit register, or load a pair of signed words into two 64-bit registers.

System register access

These instructions move the contents of a system register to or from a general-purpose register.