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.

Instruction Details<br />

A8.1.6 Exception information<br />

A8.1.7 Notes<br />

The Exceptions subsection contains a list of the exceptional conditions that can be caused by execution of<br />

the instruction.<br />

Processor exceptions are listed as follows:<br />

Resets <strong>and</strong> interrupts (both IRQs <strong>and</strong> FIQs) are not listed. They can occur before or after the<br />

execution of any instruction, <strong>and</strong> in some cases during the execution of an instruction, but they are<br />

not in general caused by the instruction concerned.<br />

Prefetch Abort exceptions are normally caused by a memory abort when an instruction is fetched,<br />

followed by an attempt to execute that instruction. This can happen for any instruction, but is caused<br />

by the aborted attempt to fetch the instruction rather than by the instruction itself, <strong>and</strong> so is not listed.<br />

A special case is the BKPT instruction, that is defined as causing a Prefetch Abort exception in some<br />

circumstances.<br />

Data Abort exceptions are listed for all instructions that perform data memory accesses.<br />

Undefined Instruction exceptions are listed when they are part of the effects of a defined instruction.<br />

For example, all coprocessor instructions are defined to produce the Undefined Instruction exception<br />

if not accepted by their coprocessor. Undefined Instruction exceptions caused by the execution of an<br />

UNDEFINED instruction are not listed, even when the UNDEFINED instruction is a special case of one<br />

or more of the encodings of the instruction. Such special cases are instead indicated in the<br />

encoding-specific pseudocode for the encoding.<br />

Supervisor Call <strong>and</strong> Secure Monitor Call exceptions are listed for the SVC <strong>and</strong> SMC instructions<br />

respectively. Supervisor Call exceptions <strong>and</strong> the SVC instruction were previously called Software<br />

Interrupt exceptions <strong>and</strong> the SWI instruction. Secure Monitor Call exceptions <strong>and</strong> the SMC instruction<br />

were previously called Secure Monitor interrupts <strong>and</strong> the SMI instruction.<br />

Floating-point exceptions are listed for instructions that can produce them. Floating-point exceptions on<br />

page A2-42 describes these exceptions. They do not normally result in processor exceptions.<br />

Where appropriate, other notes about the instruction appear under additional subheadings.<br />

Note<br />

Information that was documented in notes in previous versions of the <strong>ARM</strong> <strong>Architecture</strong> <strong>Reference</strong> <strong>Manual</strong><br />

<strong>and</strong> its supplements has often been moved elsewhere. For example, oper<strong>and</strong> restrictions on the values of<br />

bitfields in an instruction encoding are now normally documented in the encoding-specific pseudocode for<br />

that encoding.<br />

A8-6 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!