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.

Assembler syntax<br />

MOV{S} , # All encodings permitted<br />

MOVW , # Only encoding T3 or A2 permitted<br />

where:<br />

Instruction Details<br />

S If S is present, the instruction updates the flags. Otherwise, the flags are not updated.<br />

See St<strong>and</strong>ard assembler syntax fields on page A8-7.<br />

The destination register.<br />

The immediate value to be placed in . The range of values is 0-255 for encoding T1 <strong>and</strong><br />

0-65535 for encoding T3 or A2. See Modified immediate constants in Thumb instructions<br />

on page A6-17 or Modified immediate constants in <strong>ARM</strong> instructions on page A5-9 for the<br />

range of values for encoding T2 or A1.<br />

When both 32-bit encodings are available for an instruction, encoding T2 or A1 is preferred<br />

to encoding T3 or A2 (if encoding T3 or A2 is required, use the MOVW syntax).<br />

The pre-UAL syntax MOVS is equivalent to MOVS.<br />

Operation<br />

if ConditionPassed() then<br />

EncodingSpecificOperations();<br />

result = imm32;<br />

if d == 15 then // Can only occur for encoding A1<br />

ALUWritePC(result); // setflags is always FALSE here<br />

else<br />

R[d] = result;<br />

if setflags then<br />

APSR.N = result;<br />

APSR.Z = IsZeroBit(result);<br />

APSR.C = carry;<br />

// APSR.V unchanged<br />

Exceptions<br />

None.<br />

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

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

Saved successfully!

Ooh no, something went wrong!