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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

G.2 Application level register support<br />

<strong>ARM</strong>v6 Differences<br />

The <strong>ARM</strong>v6 core registers are the same as the <strong>ARM</strong>v7 core registers. For more information, see <strong>ARM</strong> core<br />

registers on page A2-11. The following sections give more information about <strong>ARM</strong>v6 application level<br />

register support:<br />

APSR support<br />

Instruction set state.<br />

G.2.1 APSR support<br />

Application Program Status Register (APSR) support in <strong>ARM</strong>v6 is identical to <strong>ARM</strong>v7. Program status is<br />

reported in the 32-bit APSR. The format of the APSR is:<br />

31 30 29 28 27 26 24 23 20 19 16 15 0<br />

N Z C V Q RAZ/<br />

SBZP<br />

Reserved GE[3:0] Reserved<br />

See The Application Program Status Register (APSR) on page A2-14 for the APSR bit definitions.<br />

Earlier versions of this manual do not use the term APSR. They refer to the APSR as the CPSR<br />

with restrictions on reserved fields determined by whether the access to the register was privileged or not.<br />

G.2.2 Instruction set state<br />

Instruction set state support in <strong>ARM</strong>v6 is in general the same as the support available in <strong>ARM</strong>v7. The only<br />

differences are that:<br />

ThumbEE state is not supported in <strong>ARM</strong>v6. It is introduced in <strong>ARM</strong>v7.<br />

In <strong>ARM</strong>v6 <strong>and</strong> <strong>ARM</strong>v6K, but not in <strong>ARM</strong>v6T2, when the processor is in a privileged mode you must<br />

take care not to attempt to change the instruction set state by writing nonzero values to CPSR.J <strong>and</strong><br />

CPSR.T with an MSR instruction. For more information, see Format of the CPSR <strong>and</strong> SPSRs on<br />

page AppxG-17.<br />

All <strong>ARM</strong>v6 implementations support the <strong>ARM</strong> instruction set. The <strong>ARM</strong>v6 base architecture <strong>and</strong> <strong>ARM</strong>v6K<br />

also support a subset of the Thumb instruction set that can be executed entirely as 16-bit instructions. The<br />

only 32-bit instructions in this subset are restricted-range versions of the BL <strong>and</strong> BLX (immediate)<br />

instructions. See BL <strong>and</strong> BLX (immediate) instructions, before <strong>ARM</strong>v6T2 on page AppxG-4 for a<br />

description of how these instructions can be executed as 16-bit instructions.<br />

The supported <strong>ARM</strong> <strong>and</strong> Thumb instructions in the <strong>ARM</strong>v6 base architecture <strong>and</strong> <strong>ARM</strong>v6K are<br />

summarized in Instruction set support on page AppxG-10, <strong>and</strong> the instruction descriptions in Chapter A8<br />

Instruction Details give details of the architecture variants that support each instruction encoding.<br />

Jazelle state is supported as in <strong>ARM</strong>v7. For more information, see:<br />

Jazelle direct bytecode execution support on page A2-73, for application level information<br />

Jazelle direct bytecode execution on page B1-74, for system level information.<br />

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

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

Saved successfully!

Ooh no, something went wrong!