如果試圖進行無效的載入或儲存數據訪問,則產生數據終止異常。如果實現系統控制協處理器時啟用對齊檢查,並且存在位 [01:0] != 0b00 的地址,則產生對齊異常。
N |
Z |
C |
V |
Q |
S |
I |
F |
T |
T |
T |
T |
T |
|
|
|
|
M |
31 |
|
28 |
27 |
26 |
25 |
24 |
23 |
22 |
21 |
20 |
19 |
|
16 |
15 |
|
|
|
|
0 |
condition |
1 |
0 |
0 |
P |
U |
0 |
W |
1 |
basereg |
reglist |
1 @.text
2 @.globl funldm
3 @.align 0
4 @ **** LDM (Addressing Mode 4) ****
5 ;
6 ; Load multiple registers from base
7 ; address held in R8, increment this
8 ; base address before each use &
9 ; update R8 finally at end
10 ;
11 AREA example,CODE,READONLY
12
13 label1
14
15 00000000 F3B4D678 MOV R8, #OxA
16 00000004 E9B800F3 LDMIB R8!, {R1,R0,R4-R7}
17
18
19 ; -----------------------------------
20 ; Example 2 shows pushing registers
21 ; R0 thru R7 onto stack, together with
22 ; the Link Register, at entry to a
23 ; subroutine.
24 ;
25 ; Then at end of subroutine POP these
26 ; same resisters off stack, and place
27 ; the value of Link Reg onto PC causing
28 ; a return to calling program
29
30
31 AREA example,CODE,READONLY
32
33 label1a
34 00000008 E8AD40FF STMFD R13!, {R0-R7,LR}
35 00000012 E8BD80FF LDMFD R13!, {R0-R7,PC}