MAR and MRA

Transfer between two general-purpose registers and a 40-bit internal accumulator.

Show/hideSyntax

MAR{cond} Acc, RdLo, RdHi
MRA{cond} RdLo, RdHi, Acc

where:

cond

is an optional condition code.

Acc

is the internal accumulator. The standard name is accx,where x is an integer in the range 0 to n. The value of n depends on the processor. It is 0 for current processors.

RdLo, RdHi

are general-purpose registers. RdLo and RdHi must not be the PC, and for MRA they must be different registers.

Show/hideUsage

The MAR instruction copies the contents of RdLo to bits[31:0] of Acc, and the least significant byte of RdHi to bits[39:32] of Acc.

The MRA instruction:

  • copies bits[31:0] of Acc to RdLo

  • copies bits[39:32] of Acc to RdHi bits[7:0]

  • sign extends the value by copying bit[39] of Acc to bits[31:8] of RdHi.

Show/hideArchitectures

These ARM coprocessor 0 instructions are only available in XScale processors.

There are no Thumb versions of these instructions.

Show/hideExamples

    MAR     acc0, r0, r1
    MRA     r4, r5, acc0
    MARNE   acc0, r9, r2
    MRAGT   r4, r8, acc0

Show/hideSee also

Reference
Copyright © 2011-2012 ARM. All rights reserved.ARM DUI 0588B
Non-ConfidentialID062912