05.02.2013 Views

ARM Architecture Reference Manual ARMv7-A and ARMv7-R edition

ARM Architecture Reference Manual ARMv7-A and ARMv7-R edition

ARM Architecture Reference Manual ARMv7-A and ARMv7-R edition

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>ARM</strong> Instruction Set Encoding<br />

A5.1 <strong>ARM</strong> instruction set encoding<br />

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />

cond op1 op<br />

The <strong>ARM</strong> instruction stream is a sequence of word-aligned words. Each <strong>ARM</strong> instruction is a single 32-bit<br />

word in that stream.<br />

Table A5-1 shows the major subdivisions of the <strong>ARM</strong> instruction set, determined by bits [31:25,4].<br />

Most <strong>ARM</strong> instructions can be conditional, with a condition determined by bits [31:28] of the instruction,<br />

the cond field. For details see The condition field. This applies to all instructions except those with the cond<br />

field equal to 0b1111.<br />

cond op1 op Instruction classes<br />

not 1111 00x - Data-processing <strong>and</strong> miscellaneous instructions on page A5-4.<br />

010 - Load/store word <strong>and</strong> unsigned byte on page A5-19.<br />

011 0 Load/store word <strong>and</strong> unsigned byte on page A5-19.<br />

A5.1.1 The condition field<br />

1 Media instructions on page A5-21.<br />

10x - Branch, branch with link, <strong>and</strong> block data transfer on page A5-27.<br />

Table A5-1 <strong>ARM</strong> instruction encoding<br />

11x - Supervisor Call, <strong>and</strong> coprocessor instructions on page A5-28.<br />

Includes VFP instructions <strong>and</strong> Advanced SIMD data transfers, see Chapter A7 Advanced<br />

SIMD <strong>and</strong> VFP Instruction Encoding.<br />

1111 - - If the cond field is 0b1111, the instruction can only be executed unconditionally, see<br />

Unconditional instructions on page A5-30.<br />

Includes Advanced SIMD instructions, see Chapter A7 Advanced SIMD <strong>and</strong> VFP<br />

Instruction Encoding.<br />

Every conditional instruction contains a 4-bit condition code field in bits 31 to 28:<br />

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9<br />

cond<br />

8 7 6 5 4 3 2 1 0<br />

This field contains one of the values 0b0000-0b1110 described in Table A8-1 on page A8-8. Most<br />

instruction mnemonics can be extended with the letters defined in the mnemonic extension field.<br />

If the always (AL) condition is specified, the instruction is executed irrespective of the value of the condition<br />

code flags. The absence of a condition code on an instruction mnemonic implies the AL condition code.<br />

A5-2 Copyright © 1996-1998, 2000, 2004-2008 <strong>ARM</strong> Limited. All rights reserved. <strong>ARM</strong> DDI 0406B

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!