This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: Question about arm multiple load and store instructions
- From: Daniel Jacobowitz <drow at false dot org>
- To: loody <miloody at gmail dot com>
- Cc: binutils at sourceware dot org
- Date: Tue, 21 Oct 2008 08:46:55 -0400
- Subject: Re: Question about arm multiple load and store instructions
- References: <3a665c760810202042y2fbe7658n70349bc030b018e8@mail.gmail.com>
On Tue, Oct 21, 2008 at 11:42:39AM +0800, loody wrote:
> Dear all:
> While studying some arm assembly source codes, I find there is a
> multiple load store instruction format like below:
> LDM|STM{<cond>}<addressing_mode> <Rn>{!}, <registers>{^}
>
> My question is:
> What is the last ^ used for? I cannot find any explanation in arm's
> instruction reference menu.
It's LDM(2) and LDM(3) in my copy of the ARM instruction reference.
Without PC, it means "load user registers instead of current
registers"; with PC it means "also copy SPSR to CPSR". They're both
for privileged use only.
--
Daniel Jacobowitz
CodeSourcery