
Thumb Instruction Reference
5-12
Copyright © 2000, 2001 ARM Limited. All rights reserved.
ARM DUI 0068B
POP {
reglist
, pc}
This instruction causes a branch to the address popped off the stack into the pc. This is
usually a return from a subroutine, where the lr was pushed onto the stack at the start of
the subroutine.
In ARM architecture version 5T and above:
•
if bits[1:0] of the value loaded to the pc are
b00
, the processor changes to ARM
state
•
bits[1:0] must not have the value
b10
.
In ARM architecture version 4T and earlier, bits[1:0] of the value loaded to the pc are
ignored, so
POP
cannot be used to change state.
Condition flags
These instructions do not affect the flags.
Architectures
These instructions are available in all T variants of the ARM architecture.
Examples
PUSH {r0,r3,r5}
PUSH {r1,r4-r7} ; pushes r1, r4, r5, r6, and r7
PUSH {r0,LR}
POP {r2,r5}
POP {r0-r7,pc} ; pop and return from subroutine
Incorrect examples
PUSH {r3,r5-r8} ; high registers not allowed
PUSH {} ; must be at least one register in list
PUSH {r1-r4,pc} ; cannot push the pc
POP {r1-r4,LR} ; cannot pop the LR
Содержание Developer Suite
Страница 10: ...Preface x Copyright 2000 2001 ARM Limited All rights reserved ARM DUI 0068B ...
Страница 110: ...Assembler Reference 3 32 Copyright 2000 2001 ARM Limited All rights reserved ARM DUI 0068B ...
Страница 185: ...ARM Instruction Reference ARM DUI 0068B Copyright 2000 2001 ARM Limited All rights reserved 4 75 Example MSR CPSR_f r5 ...
Страница 238: ...Thumb Instruction Reference 5 44 Copyright 2000 2001 ARM Limited All rights reserved ARM DUI 0068B ...
Страница 282: ...Vector Floating point Programming 6 44 Copyright 2000 2001 ARM Limited All rights reserved ARM DUI 0068B ...
Страница 360: ...Index Index 6 Copyright 2000 2001 ARM Limited All rights reserved ARM DUI 0068B ...